iOS13 (四)新增手勢Gestures

1、雙指滑動編輯

a、相關代碼bash

// 容許多選
self.tableView.allowsMultipleSelectionDuringEditing = YES;
複製代碼
// 實現UITableViewDelegate的兩個代理
/// iOS13是否容許多指選中
-(BOOL)tableView:(UITableView *)tableView shouldBeginMultipleSelectionInteractionAtIndexPath:(NSIndexPath *)indexPath{
    return YES;
}

/// iOS13多指選中開始,這裏能夠作一些UI修改,好比修改導航欄上按鈕的文本
-(void)tableView:(UITableView *)tableView didBeginMultipleSelectionInteractionAtIndexPath:(NSIndexPath *)indexPath {
    // 最後當用戶選擇完,要作某些操做的時候,咱們能夠用 tableView.indexPathsForSelectedRows 獲取用戶選擇的 rows。
}
複製代碼


b、能夠本身添加一個開關,手動打開、關閉多選狀態ide

// 打開多選
[self.tableView setEditing:YES animated:YES];
// 關閉多選
[self.tableView setEditing:NO animated:YES];
複製代碼

注意:若是點擊cell有跳轉效果,在多選狀態的時候要暫時屏蔽跳轉,關閉多選狀態的時候再容許跳轉,否則會有手勢衝突ui

2、編輯手勢 (三指手勢)

複製:三指捏合
剪切:兩次三指捏合
粘貼:三指鬆開
撤銷:三指向左划動(或三指雙擊)
重作:三指向右划動
快捷菜單:三指單擊spa

三隻手指長按屏幕一秒鐘,在頂部會出現一個灰色的編輯框,若是當前處於編輯狀態,這個編輯框是實體的,從左到右分別是:撤回、剪切、複製、粘貼、恢復撤回3d

// 上述手勢iOS13默認提供,如想禁用,重寫editingInteractionConfiguration
override var editingInteractionConfiguration: UIEditingInteractionConfiguration {
    return .none
}
複製代碼


注意:無論是三指手勢仍是頂部編輯框,都必須是編輯狀態這些手勢纔有用,拷貝的時候必須先選中要拷貝的內容。
這些操做比較適合文章編輯或者聊天的時候輸入一大段文字的沉浸式的業務場景,在大屏幕上操做會比較流暢,操做區域要在鍵盤之外的區域。代理

相關文章
相關標籤/搜索