2009-05-14 9 views
0

私はきれいなスタイルのセルを生成するためにuiviewcontrollerからuitableviewを操作するチュートリアルに従っています。ココアのビューダウンロードメソッドでサブクラスのuitablelviewプロパティを変更しますか?

私はuiviewcontrollerの代わりにuitablewcontrollerをサブクラス化するクラスに同じことをすることができるのだろうと思っていました。ユーザーは次のようなコードを使用します。

tableView.rowHeight = 50; 
tableView.backgroundColor = [UIColor clearColor]; 

viewdidloadメソッドでは、次のようなコードを使用します。私はuitableviewサブクラスで同じことをしたいが、もう一度やりたい。私はしようとしました

self.rowHeight = 50; 

しかし、これは動作しませんでした。誰も私がこれを実装する方法を知っていますか?

ありがとうございます!

これは、実際のチュートリアルサイトです:あなたがする必要がある場合は特に、http://blog.atrexis.com/index.cfm/2009/1/6/iPhone--Customize-the-UITableCellView

答えて

0

ココアのデザインパターンは、ビューを設定するには、コントローラオブジェクトを使用して奨励していますが、記述しているようにあなたがサブクラス化できない理由はありません他の方法では実行できない機能を追加します。記述方法だけでプロパティやメソッドを使うことができるので、別の場所に問題があります。行の高さを割り当てるためにどのような方法をサブクラス化していますか?デバッガをチェックして、サブクラスが通常のテーブルビューではなく割り当てられていることを確認しましたか?

+0

私はself.rowHeightを行うとき= 50; uitableviewcontrollerクラスでは、構造体や共用体ではないメンバーのrowheightに対するエラー要求を受け取ります。あなたはこのタイプのコントローラクラスでこれを行う正しい方法ですか? – Atma

+0

申し訳ありませんが、あなたはテーブルビュー自体をサブクラス化することを意味していると思いました。コントローラの場合、self.tableView.rowHeightを呼び出してプロパティにアクセスします。 –

0

UITableViewControllerはUIViewControllerのサブクラスです。 UITableViewDelegateDataSourceおよびUITableViewDelegateプロトコルに準拠していることと、追加のインスタンス変数tablviewがある点のみが異なります。

のviewDidLoadでは、あなたが(スタイルがIB初期化子にまたはで設定する必要があります)スタイル以外の好きなテーブルのプロパティを設定することができ

- (void)viewDidLoad{ 

    [[self tableView] setRowHeight:kCellHeight]; 
    [[self tableView] setTableHeaderView:myView]; 

//etc... 

} 
関連する問題