0

2 つのセルにatableViewtextFieldaがあります。textViewそれでおしまい。に追加しましたtableView:cellForRowAtIndexPath:。内容が編集できない!おそらく、タッチがテキスト フィールドとtextView.

すべてのソリューションで、カスタム セル クラスで xib を使用するように求められています。

では、2 つの行に対して 2 つの新しいクラスを作成する必要がありますtableViewか?

これらをサブビューとして通常のセルに追加することで逃げることはできませcontentViewんか?

第二に、tableViewそのようなレイアウトに使用するのはやり過ぎである場合、

textView角が丸い長方形の境界線の textArea の下に必要な代替手段は何UIViewsですか?

4

3 に答える 3

0

このコードを使用してみてください

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    if (indexPath.row == 0){ 
        UITextField *customField = [[UITextField alloc] initWithFrame:CGRectMake(60.0f, 10.0f, 400.0f, 60.0f)]
        customField.autoresizingMask = UIViewAutoresizingFlexibleWidth;
        customField.delegate = self;
        customField.adjustsFontSizeToFitWidth = NO;
        customField.borderStyle = UITextBorderStyleNone;
        customField.autocapitalizationType = UITextAutocapitalizationTypeNone;
        customField.autocorrectionType = UITextAutocorrectionTypeNo;
        customField.enablesReturnKeyAutomatically = YES;
        customField.returnKeyType = UIReturnKeyDefault;
        customField.keyboardType = UIKeyboardTypeDefault;
        [cell addSubview:customField];

    }


    if (indexPath.row == 1){ 
        UITextView *notes = [[UITextView alloc] init];
        notes.editable = YES;
        notes.font = DEFAULT_FONT(16);
        notes.text = infoNotesStr.text;
        notes.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
        notes.backgroundColor = [UIColor blueColor];
        notes.delegate = self;
        CALayer *layers = notes.layer;
        layers.cornerRadius = 10.0f;
        [cell addSubview:notes];

    }

}
于 2012-12-04T15:40:44.300 に答える
0

2 つの新しいクラスを作成する必要はありません。それらを追加しても問題なく動作し、おそらくコントローラーに参照を保持することさえできます。

UITableViewUITableViewCell、およびUITextFieldでuserInteractionEnabled を確認しますUITextView。ビューのユーザー操作を無効にすると、すべてのサブビューでユーザー操作も無効になります。行の選択を無効にする場合は、設定するだけですcell.selectionStyle = UITableViewCellSelectionStyleNone;

于 2012-12-04T14:09:31.970 に答える
0

UITableViewCell をサブクラス化するために xib は必要ありません。この場合、コンテンツ ビューへの追加は問題なく、サブクラスは必要ありません。また、テーブルビューは必要ないようです。必要な理由は、これらのセルがさらに必要になる場合です。それ以外の場合は、通常のビュー コントローラーがより適切で実装が容易になる可能性があります。

Core Graphics を使用して、UIView オブジェクトの角を丸くしたり、影の効果を追加したりしていますが、学習曲線が少しあります。インターネットで UIView の丸みを帯びた角を検索することから始めることができます。

于 2012-12-04T14:12:34.083 に答える