您好,登錄后才能下訂單哦!
添加底部工具欄和UITableViewCell的滑動刪除
一.添加底部工具欄
在工具欄上設置圖標時可以使用系統自帶圖標也可以使用自定義圖標,下面分別介紹這兩種方法:
1.使用系統自帶圖標(編輯圖標)
UIBarButtonItem *editItem = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemComposetarget:selfaction:@selector(editEventClick)];
2.使用自定義圖標(刪除圖標)
UIBarButtonItem *deleteItem = [[UIBarButtonItemalloc] initWithImage:[UIImagep_w_picpathNamed:@"ic_delete.png"] style:UIBarButtonItemStylePlaintarget:selfaction:@selector(deleteEventClick)];
工具欄提示:
1.固定空間可以擁有寬度-----在所有UIBarButtonItem’中,只有UIBarButtonSystemItemFixedSpace條目可以被分配一個寬度,因此,創建空間條目,設置其寬度,然后在將其添加到條目列中。
UIBarButtonItem *fixItem1 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpacetarget:nilaction:nil];
fixItem1.width = 125;
NSArray *arrayItem = [NSArrayarrayWithObjects:fixItem1, editItem,fixItem2,deleteItem,nil];
[selfsetToolbarItems:arrayItem];
此處編輯圖標是自定義的圖片,刪除圖標是系統自帶,在截圖中可以看出二者的區別
運行之后效果圖如下:
2.使用一個靈活空間進行左或右對齊-----在條目列表中開始添加一個’ UIBarButtonSystemITemFlexibleSpace會使所有剩余條目右對齊。在末尾添加一個,則左對齊,使用兩個UIBarButtonSystemItemFlexibleSpace,一個在開頭,一個添加在末尾,會使剩余條目居中對齊。
UIBarButtonItem *fixItem1 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpacetarget:nilaction:nil];
NSArray *arrayItem = [NSArrayarrayWithObjects:fixItem1,deleteItem,fixItem2,editItem,fixItem2,nil];
[selfsetToolbarItems:arrayItem];
運行之后效果圖如下:
(此處編輯圖標和刪除圖標都是系統自帶)
二.滑動刪除
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
returnYES;
}
//定義編輯樣式
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableVieweditingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
returnUITableViewCellEditingStyleDelete;
}
//進入編輯模式
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyleforRowAtIndexPath:(NSIndexPath *)indexPath {
//code
}
啟用上面兩個代理,并增加數據刪除操作:
運行之后效果如下:
若讓其左滑刪除,則:(核心代碼如下)
//取消TableView的右滑,保留左滑
UISwipeGestureRecognizer *swipeRight =[[UISwipeGestureRecognizer alloc]initWithTarget:self action:nil];
swipeRight.direction =UISwipeGestureRecognizerDirectionRight;
[self. tableView addGestureRecognizer:swipeRight];
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。