【问题标题】:How to increase the UITextView height and X axis value in iPhone?如何增加 iPhone 中的 UITextView 高度和 X 轴值?
【发布时间】:2012-07-05 13:29:17
【问题描述】:

我正在使用 UITextView 在 iPhone 应用程序中工作。我正在尝试根据其内容长度增加 UITextView 的高度。它工作正常。但是,当 uitextview 的高度增加时,UITextView 应该改变向上的高度而不是增加向下的高度。

这是我在项目中尝试的代码,

    baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, 320, 50)];
    baseView.backgroundColor = [UIColor lightGrayColor];
    [self.view addSubview:baseView];

    TextView = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 40)];
    TextView.backgroundColor = [UIColor whiteColor];
    TextView.layer.borderWidth = 2;
    TextView.delegate = self;
    TextView.font = [UIFont fontWithName:@"Helvetica" size:16];
    [baseView addSubview: TextView];

    -(void)textViewDidChange:(UITextView *)textView
   {
       CGRect frame = messageTextView.frame;
       frame.size.height = messageTextView.contentSize.height;
       TextView.frame = CGRectMake(20, 10, 280, frame.size.height);
       baseView.frame = CGRectMake(0, 50, 320, frame.size.height+20);
   }

当 UITextView 的高度发生变化时,效果 textview 的高度将在顶部增加。谁能帮我解决这个问题?提前致谢。

【问题讨论】:

    标签: iphone ios uiview uitextview


    【解决方案1】:

    在更改框架的方法中,还要编辑textViewframe.origin.y

    -(void)textViewDidChange:(UITextView *)textView
    {
       CGRect frame = messageTextView.frame;
       frame.size.height = messageTextView.contentSize.height;
       TextView.frame = CGRectMake(20, 0, 280, frame.size.height); //previous y was 10
       baseView.frame = CGRectMake(0, 50, 320, frame.size.height+20);
    }
    

    尽管如此,我相信您知道,当您将其添加到 BaseView 视图时,您只有 10 个像素供 textView 上升。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      相关资源
      最近更新 更多