1

Sizetofit が有効になっている UITextField を配置する方法はありますか? 右に言う?

チャット会話ウィンドウ (UITableView) があり、Sizetofit を使用して、実際のメッセージの「バブル」タイプの会話を作成するのに役立ちます (picture=>現在サインインしているユーザーに対して、UITextField、MessageLabel が収まるサイズになっていますが、正しく配置されていない会話チャット ウィンドウの写真です。

それらのバブルを右に移動して、どんな助けでも大歓迎です:-)

ここにベアボーンスニペットがあります....

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

 {
static NSString *cellIdentifier = @"HistoryCell";
MessageCustomCellCell *cell = (MessageCustomCellCell *)[self.tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
    cell.messageLabel.layer.cornerRadius = 9;
    cell.messageLabel.clipsToBounds = YES;
}

NSSortDescriptor *ratingsSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
NSArray *sortedRows = [_tableData sortedArrayUsingDescriptors:[NSArray arrayWithObject:ratingsSortDescriptor]];
_tableData = sortedRows;
NSDictionary *item = [_tableData objectAtIndex:[indexPath row]];


 // loggedInUser
 if ([[item objectForKey:@"fromuser"] isEqualToString:loggedInUser]) {

    cell.messageLabel.text = [item objectForKey:@"message"];
    cell.messageLabel.backgroundColor = [UIColor greenColor];
    cell.messageLabel.frame = CGRectMake(10, 25, 246, cell.messageLabel.contentSize.height);
    [cell.messageLabel sizeToFit];

 } else {
 // MESSAGE IS FRIEND OF THE PERSON SIGNED IN
     cell.messageLabel.text = [item objectForKey:@"message"];
     cell.messageLabel.backgroundColor = [UIColor redColor];
     cell.messageLabel.frame = CGRectMake(65, 25, 250, cell.messageLabel.contentSize.height);
     [cell.messageLabel sizeToFit];

 }

1つの方法は、テキストの実際の幅を調べるか、それを数え、それに応じて調整して配置することですが、方法はわかりません。

ありがとう!

4

1 に答える 1