gpt4 book ai didi

ios - 带有包装标签的静态表格单元格的动态高度?

转载 作者:行者123 更新时间:2023-12-01 16:51:07 26 4
gpt4 key购买 nike

我的文字在纵向模式下是两行长。当我切换到横向模式时,它适合一行。我通过 Storyboard 使用静态表格 View 单元格;我怎样才能调整行的大小以适合?

该屏幕是登录屏幕。

  • 第一个单元格包含一些解释文本
  • 第二个是用于输入帐户名称的文本字段
  • 第三个是用于输入密码的安全文本字段
  • 第四个(也是最后一个)单元格包含登录按钮。键盘上的返回键提交表单或根据需要切换焦点
  • 最佳答案

    使用UITableView's heightForRowAtIndexPath :

     - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    int topPadding = 10;
    int bottomPadding = 10;
    float landscapeWidth = 400;
    float portraitWidth = 300;

    UIFont *font = [UIFont fontWithName:@"Arial" size:22];

    //This is for first cell only if you want for all then remove below condition
    if (indexPath.row == 0) // for cell with dynamic height
    {
    NSString *strText = [[arrTexts objectAtIndex:indexPath.row]; // filling text in label
    if(landscape)//depends on orientation
    {
    CGSize maximumSize = CGSizeMake(landscapeWidth, MAXFLOAT); // change width and height to your requirement
    }
    else //protrait
    {
    CGSize maximumSize = CGSizeMake(portraitWidth, MAXFLOAT); // change width and height to your requirement
    }

    //dynamic height of string depending on given width to fit
    CGSize textSize = CGSizeZero;
    if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")
    {
    NSMutableParagraphStyle *pstyle = [NSMutableParagraphStyle new];
    pstyle.lineBreakMode = NSLineBreakByWordWrapping;

    textSize = [[strText boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName :font,NSParagraphStyleAttributeName:[pstyle copy]} context:nil] size];
    }
    else // < (iOS 7.0)
    {
    textSize = [strText sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping]
    }

    return (topPadding+textSize.height+bottomPadding) // caculate on your bases as u have string height
    }
    else
    {
    // return height from the storyboard
    return [super tableView:tableView heightForRowAtIndexPath:indexPath];
    }
    }

    编辑 : 为 support 添加对于 > and < ios7sizeWithFont方法在 iOS 7.0 中已弃用

    关于ios - 带有包装标签的静态表格单元格的动态高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15757736/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com