簡體   English   中英

UIControl -contentHorizo​​ntalAlignment:如何在子類中使用

[英]UIControl -contentHorizontalAlignment: how to use in a subclass

UIControl具有兩個屬性,已記錄這些屬性以影響控件視圖中內容的布局:

contentHorizo​​ntalAlignment

The horizontal alignment of content (text or image) within the receiver.

controlVerticalAlignment

The vertical alignment of content (text or image) within the receiver.

我有一個UIControl子類,該子類管理一組五個子視圖。 每個子視圖都是自定義UIView子類(即,不是UILabel或UIImageView)。

我想要得到的行為是UIControl使用contentHorizontalAlignmentcontentVerticalAlignment屬性管理自定義子視圖的布局。

從我的實驗來看,在進行子視圖布局時,至少在子視圖不是標簽或圖像的情況下,UIControl似乎並沒有尊重這些屬性值。 不過,我不確定100%是否正確實現了我的子類。

我的問題是三個問題:

  1. UIControl是否圍繞這些屬性實現任何布局行為?
    • 是否僅適用於UILabel和UIImageView的子視圖?
  2. 我是否必須在UIControl子類中提供子視圖布局的實現?
  3. UIControl基類中是否存在這些屬性,主要是為調用者提供用於管理內容的一致API?

考慮到contentHorizontalAlignmentcontentVerticalAlignment屬性的存在,我期望UIControl提供某種基本級別的布局行為。

我在基地外嗎? 我不反對實現自己的布局行為。 如果UIControl已經提供了一些我應該使用的布局行為,我只是不想與框架作斗爭。

謝謝,

法案

只是為了跟進...

UIControl只是提供這些屬性作為子類的一致API。 基類對它們不做任何事情。

在UIControl子類中,重寫-layoutSubviews方法,並使用屬性來指導布局邏輯。

例如

switch (self.contentHorizontalAlignment) {
    case UIControlContentHorizontalAlignmentCenter:
    // layout logic for centering
    break; 
}

暫無
暫無

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

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