ngui uitableeView中怎么隐藏不需要的cell,将后续的Cell往上移

如何让UITableViewCell的delete按钮动画方式隐藏_百度知道
如何让UITableViewCell的delete按钮动画方式隐藏
UITableView在编辑状态下手指向左划动,会以动画的方式显示delete按钮,这时点击一下表格行,它直接就消失了有什么办法让它以动画方式隐藏呢?
你是想不滑动就可以直接看到删除按钮。还是说,其他什么操作。如果不是,可能你只有自定义列表,做手势滑动的判断,然后显示delete按钮。
其他类似问题
按默认排序
其他1条回答
本来就是以动画方式显示和隐藏的,没有什么控制。加上这个方法就行了:[mw_shl_code=c,true]- (void)tableView:(UITableView *)tableViewcommitEditingStyle:(UITableViewCellEditingStyle)editingStyleforRowAtIndexPath:(NSIndexPath *)indexPath[/mw_shl_code]
uitableviewcell的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁UITabBar&UINavigationBar&动态显示与隐藏及UItableView的手势重新解析
本实例解决了UItableView 上单击与双击的判断。单击选中cell不影响UITabBar,
UINavigationBar的显示货影藏。但当你双击时不但选中了对应的cell 而且改变了UITabBar,
UINavigationBar的显示货影藏状态。并且但你选中cell,但手指不离开界面持续一段时间(大约0.5s)后。UITabBar, UINavigationBar
由显示变影藏活有影藏变显示。本人写此代码破费了段时间。特共享出来供大家分享
当程序运行时显示UITabBar, UINavigationBar
当在tableViewCell 上点击并持续一段时间不离开屏幕时(大约0.5s)后
UITabBar, UINavigationBar
当此时单击时进入另一个界面,并显示选中cell的信息。
当单击back时返回到
但你在此界面双击时,显示UITabBar,
UINavigationBar(被后续的动作隐藏,即:push
另一个界面遮住),并进入双击选中的cell显示信息。进入,
当点击back返时进入
本人将研究的代码共享:
在RootViewController.h代码
&UIKit/UIKit.h&
#import "TableViewForwardMessage_Not_Drag.h"
@interface RootViewController :
UIViewController&UITableViewDataSource,UITableViewDelegate&{
TableViewForwardMessage_Not_Drag *
& & NSArray
& & NSIndexPath
(nonatomic,retain)&
& TableViewForwardMessage_Not_Drag
@property (nonatomic,retain)
NSIndexPath *
(nonatomic,retain)&
(nonatomic,assign)&
& BOOL tabBarHidden,navBarH
-(void)setTabBar_NavBarHiddenR
在RootViewController.m中的代码
#import "RootViewController.h"
#import "DeatailViewController.h"
@implementation RootViewController
@synthesize
@synthesize tableD
@synthesize
@synthesize tabBarHidden,navBarH
// Implement viewDidLoad to do additional setup after loading
the view, typically from a nib.
- (void)viewDidLoad
[super viewDidLoad];
tableData=[[NSArray
initWithObjects:@"one",@"two",@"three",@"one",@"two",@"three",@"one",@"two",@"three",@"one",@"two",@"three",@"one",@"two",@"three",
[self.view
setAutoresizesSubviews:YES];
[self.view
setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleTopMargin];
table=[[TableViewForwardMessage_Not_Drag
initWithFrame:CGRectMake(0,
self.view.bounds.size.width,
self.view.bounds.size.height)
style:UITableViewStylePlain]; &
setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
NSLog(@"%@
",NSStringFromCGRect(self.table.frame));
table.delegate=self;
table.dataSource=self;
[self.view
addSubview:table];
self.tabBarHidden=NO;
self.navBarHidden=NO;
-(NSInteger)tableView:(UITableView
*)tableView
numberOfRowsInSection:(NSInteger)section
& & return
[self.tableData count];
- (UITableViewCell
*)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell
*cell=[[UITableViewCell
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:nil];
cell.textLabel.text=[self.tableData
objectAtIndex:[indexPath row]];
& & return [cell
autorelease];
-(void)viewWillDisappear:(BOOL)animated{
(!self.tabBarHidden)
setHidesBottomBarWhenPushed:NO];
& & [super
viewWillDisappear:animated];
-(void)viewWillAppear:(BOOL)animated
& & [super
viewWillAppear:animated];
self.tabBarHidden=!self.tabBarHidden;
self.navBarHidden=!self.navBarHidden;
setTabBar_NavBarHiddenReverse];
-(void)anmiationEnd{
[[UIApplication sharedApplication]
endIgnoringInteractionEvents];
(void)setTabBar_NavBarHiddenReverse{&
self.tabBarHidden=!tabBarHidden;
self.navBarHidden=!navBarHidden;
beginAnimations:nil
context:NULL];&
[[UIApplication sharedApplication]
beginIgnoringInteractionEvents];
setAnimationDidStopSelector:@selector(anmiationEnd)];
setAnimationDelegate:self];
setAnimationDuration:0.3];&
for(UIView *view
self.tabBarController.view.subviews)&
& if([view
isKindOfClass:[UITabBar
if (tabBarHidden) { //if hidden
setFrame:CGRectMake(view.frame.origin.x,480,
view.frame.size.width,
view.frame.size.height)];&
NSLog(@"%@",NSStringFromCGRect(view.frame));
setFrame:CGRectMake(view.frame.origin.x,
view.frame.size.width,
view.frame.size.height)];&
if (tabBarHidden) {&
NSLog(@"%@",NSStringFromCGRect(view.frame));
setFrame:CGRectMake(view.frame.origin.x,
view.frame.origin.y,
view.frame.size.width,
NSLog(@"%@",NSStringFromCGRect(view.frame));
NSLog(@"%@",NSStringFromCGRect(view.frame));
setFrame:CGRectMake(view.frame.origin.x,
view.frame.origin.y,
view.frame.size.width,480-49)];&
[self.navigationController
setNavigationBarHidden:navBarHidden
animated:YES];
commitAnimations];&
-(void)pushDetailViewController:(NSIndexPath
*)indexPath{
NSLog(@"%@",indexPath);
(!self.tabBarHidden)
setHidesBottomBarWhenPushed:YES];
[[self class]
cancelPreviousPerformRequestsWithTarget:self
selector:@selector(setTabBar_NavBarHiddenReverse)
object:nil];
DeatailViewController *detatil=[[DeatailViewController
detatil.showString=[self.tableData
objectAtIndex:[indexPath row]];
[self.navigationController
pushViewController:detatil
animated:YES];
-(void)touchesBegan:(NSSet *)touches
withEvent:(UIEvent *)event
NSLog(@"[%@
%@]",NSStringFromClass([self
class]),NSStringFromSelector(_cmd));
//self.isTouched=YES;
& & UITouch
*touched=[touches anyObject];
performSelector:@selector(setTabBar_NavBarHiddenReverse)
withObject:nil
afterDelay:0.5];
& & if ([touched
tapCount]==2) {
setTabBar_NavBarHiddenReverse];
-(void)touchesMoved:(NSSet *)touches
withEvent:(UIEvent *)event
-(void)touchesEnded:(NSSet *)touches
withEvent:(UIEvent *)event
NSLog(@"[%@
%@]",NSStringFromClass([self
class]),NSStringFromSelector(_cmd));
& & UITouch
*touched=[touches anyObject];
& & if ([touched
tapCount]==1) {
& CGPoint point=[touched
locationInView:self.table];
*cellsArr=[self.table
visibleCells];
& for (UITableViewCell
*cell in cellsArr ) {
(CGRectContainsPoint(cell.frame, point))
path=[self.table
indexPathForCell:cell];
performSelector:@selector(pushDetailViewController:)
withObject:path
afterDelay:0.4];//push deatil
viewController
(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
& & // Return YES
for supported orientations
& & return
(interfaceOrientation ==
UIInterfaceOrientationPortrait);
在TableViewForwardMessage_Not_Drag.h 的代码
&UIKit/UIKit.h&
extern NSString *const
extern NSString *const
@interface TableViewForwardMessage_Not_Drag :
UITableView{
在TableViewForwardMessage_Not_Drag.m中的代码
#import "TableViewForwardMessage_Not_Drag.h"
@implementation
TableViewForwardMessage_Not_Drag
-(void)touchesBegan:(NSSet *)touches
withEvent:(UIEvent *)event{
(self.dragging) {
touchesBegan:touches
withEvent:event];
nextResponder] touchesBegan:touches
withEvent:event];&
-(void)touchesEnded:(NSSet *)touches
withEvent:(UIEvent *)event
(self.dragging) {
touchesEnded:touches
withEvent:event];
& & }else{
nextResponder] touchesEnded:touches
withEvent:event];
在DeatailViewController.h
&UIKit/UIKit.h&
@interface DeatailViewController :
UIViewController{
& & NSString
@property(nonatomic,retain)&
& NSString
在DeatailViewController.m
#import "DeatailViewController.h"
@implementation DeatailViewController
@synthesize showS
#pragma mark - View lifecycle/*
- (void)viewDidLoad
[super viewDidLoad];
[self.navigationController
setNavigationBarHidden:NO
animated:YES];
[self.view
setBackgroundColor:[UIColor
blueColor]];
UILabel *lbl=[[UILabel
initWithFrame:CGRectMake(0,
lbl.text=showString;
lbl.center=self.view.center;
[self.view
addSubview:lbl];
- (void)viewDidUnload
[super viewDidUnload];
& & // Release
any retained subviews of the main view.
& & // e.g.
self.myOutlet =
(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
& & // Return YES
for supported orientations
& & return
(interfaceOrientation ==
UIInterfaceOrientationPortrait);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。如何去掉grouped样式UITableView中cell的边框和背景求解_百度知道
如何去掉grouped样式UITableView中cell的边框和背景求解
提问者采纳
_tableView.backgroundView =可以搞定。测试下发现确实可以,但是不知道以前的版本不确定有没有backgroundView的,所以最好加个判断吧:if(mainTableView.backgroundView){mainTableView.backgroundView=}如果类型为UITableViewStylePlain,[UIColor clearColor]仍然有效,怪哉!正常情况下grouped样式(UITableViewStyleGrouped)UITableViewCell都是有边框的,如果要去掉边框可以用:UIView *tempView = [[[UIView alloc] init] autorelease];[cell setBackgroundView:tempView];其实很简单,把backgroundView设置为一个空的View,然后就干净了。
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 uitable 的文章

 

随机推荐