CustomCell」カテゴリーアーカイブ

objective-c searchResultsController tableView

平成30年3月7日(水曜日)

tableViewの高さ設定


    ((UITableViewController *)self.searchController.searchResultsController).tableView.rowHeight = 66.0;

その他、searchからの戻りとして、以下

//----------------------------------------------------------------------------
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
    self.fetchedResultsController = nil;
    //[NSFetchedResultsController deleteCacheWithName:@"Master"];
    [self.tableView endUpdates];
    //[self.tableView reloadData];
}
//----------------------------------------------------------------------------

Creating a Custom UITableViewCell

平成27年1月21日(水曜日)
Creating a Custom UITableViewCell

ポイント:平成27年3月4日追加

  • UITableViewCellクラスを作成し、プロトタイプセルとリンク
  • ((option key押下後クリック→リファレンス))
  • (( emptyファイルからスクラッチで作成 storyboardも作成、delegateファイルの修正、storyboard上でテーブルビューをドラッグし、editor Embed inにより、ナビゲーション追加))

Swipe TableViewCell

☆右セルスライド 三つのボタンと対応アクション 前面スライドオープンが特徴


①左右スワイプ、タップによるセル表示(xcode code signing設定要)
TPGestureTableView is tableview that provides custom tableViewCell(TPGestureTableViewCell) to expland and show the hidden option views by using tap or pan gesture.


②アップル純正クラス 但しios8以降 シンプルに左スワイプ、2ボタン

keyword ios8later「 UITableViewRowActionStyle」(apple document)


③シンプルに左スワイプ、2ボタン detailview表示 他 ボタンアクション有り

  • SwipeableTableCell

④アップルサンプルプログラム(セクションタップにて下にセル表示、更にスワイプにて拡大、ロングプレスにてMenuControll表示)

  • Table View Animations and Gestures(apple document) sample demo(TVAnimationsGestures)(file:///Users/a_n/Desktop/iPone開発/xcode6/ios8_trial_samples/samples/TableViewUpdates_%20Table%20View%20Animations/

⑤スライディングテーブルセル(操作感、戻りに難あり 優先度低)スライディング無し、右、左、両方の切り替え有り

This is a simple implementation of the “swipe to reveal” behaviour found in Twitter and Spotify for iPhone.

  • LRSlidingTableViewCell

学習用(scroolviewを使用せずに実現、丁寧な説明有り)


⑥iPhoneメールアプリと同様の左右セルスライディング


⑧左右スワイプ オンオフ等に最適化 使い方も勘弁か
Inspired by MailboxApp (http://mailboxapp.com). A UITableViewCell subclass that makes it easy to add long, short, left and right swiping of content in your table views. Features 4 swipe zones with customizable icons, colors and sizes.

  • JZSwipeCell-master

テーブルビューでカスタムセルを使う。

平成26年9月1日(月曜日)〜

XIBファイル作成
file → new → user interface → empty
uitablebiewcellドラッグ
label ドラッグ
button ドラッグ
設定 custom
設定 identifier Cell

CLASSファイル作成
TableViewCustomCell

両者のリンク
@property (weak, nonatomic) IBOutlet UILabel *str1;
@synthesize str1;

segue設定(showDetail)

UIViewController

@property (strong, nonatomic) IBOutlet UITableView *tableView;

TableViewContoroller.m

#import TableViewCustomCell.h;

nibにて使用

static NSString * const TableViewCustomCellIdentifier = TableViewCustomCell;

viewdidload

- (void)viewDidLoad
{
[super viewDidLoad];
// カスタマイズしたセルをテーブルビューにセット
UINib *nib = [UINib nibWithNibName:TableViewCustomCellIdentifier bundle:nil];
[self.tableView registerNib:nib forCellReuseIdentifier:@"Cell];
//[self.searchDisplayController.searchResultsTableView registerNib:nib forCellReuseIdentifier:@"Cell];
}

cellForRowAtIndexPath

// テーブルセル表示① cellForRowAtIndexPath
//- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- (TableViewCustomCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    // 重要 カスタムセル
    //TableViewCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier ];
    TableViewCustomCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier ];

    /*
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    */

    if (cell == nil) {
        cell = [[TableViewCustomCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
    }

    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}

heightForRowAtIndexPath

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return [TableViewCustomCell rowHeight];
}

didSelectRowAtIndexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// The table view should not be re-orderable.
//NSLog(@"push");

// セグエで画面遷移させる → prepareForSegueが発生
//prepareForSegueが発生
[self performSegueWithIdentifier:@"showDetail" sender:self.tableView];
}

configureCell

- (void)configureCell:(TableViewCustomCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];
//cell.textLabel.text = [[object valueForKey:@"timeStamp"] description];
cell.name.text = [[object valueForKey:@"timeStamp"] description];

}