簡體   English   中英

根據UITextview的高度變化調整UILabel

[英]Adjust UILabel according to the change in height of UITextview

我是iOS開發的新手
當UITextView動態更改其高度(例如,用戶在UITextView中輸入多條線)時,如何相對於UITextView的高度調整UILabel位置(位於uitextview下方)

在此處輸入圖片說明

        after text entered by user 

在此處輸入圖片說明

如果您不使用自動版式,則可以這樣做

CGRect rect = self.lbl.frame;
rect.origin.y = self.txtVw.frame.origin.y + self.txtVw.frame.size.height;
self.lbl.frame = rect;

或者,如果您確實使用自動布局,則可以繼承UITextView的子類,並在其中重寫幾個方法,如下所示:

- (void) layoutSubviews
{
    [super layoutSubviews];

    if (!CGSizeEqualToSize(self.bounds.size, [self intrinsicContentSize])) {
        [self invalidateIntrinsicContentSize];
    }
}

- (CGSize)intrinsicContentSize
{
    CGFloat boundWidth = [[UIApplication sharedApplication] keyWindow].frame.size.width;
    boundWidth = MIN(boundWidth, self.bounds.size.width);
    CGSize intrinsicContentSize;
    intrinsicContentSize = [self sizeThatFits:CGSizeMake(boundWidth, FLT_MAX)];
    return intrinsicContentSize;
}

不要忘記在Interface Builder中為文本視圖分配您的類,當然還要正確設置所有其他約束。 我想,我前段時間已經在StackOverflow某個地方找到了該解決方案,很抱歉無法提供原始答案的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM