带和不带自动布局的自定义控件
Custom control with and without autolayout
我将创建一个自定义控件(基于 UIView)。
有没有一种方法既可以与使用自动布局的 UIViewController 一起工作,也可以与不使用自动布局的 UIViewController 一起工作?
该控件在这两种情况下都应该有效。不同之处在于,在一种情况下,您将使用约束对其进行布局,而在另一种情况下,您将以编程方式设置框架。
如果您的控件包含其他子视图,那么如何配置它们很重要。例如,如果您在 initWithFrame:
中设置子视图并使用给定的框架对其进行布局(意味着静态框架,而不是约束),在自动布局 viewControllers
中,框架将不会得到更新。
但是,使用约束布局子视图对非自动布局没有影响viewControllers
。在自定义控件的给定静态框架中,子视图将根据您的约束进行布局。
这是一个笼统的解释,因为我对您的特定控制器了解不多。希望这是有道理的,你会发现有帮助。
我将创建一个自定义控件(基于 UIView)。
有没有一种方法既可以与使用自动布局的 UIViewController 一起工作,也可以与不使用自动布局的 UIViewController 一起工作?
该控件在这两种情况下都应该有效。不同之处在于,在一种情况下,您将使用约束对其进行布局,而在另一种情况下,您将以编程方式设置框架。
如果您的控件包含其他子视图,那么如何配置它们很重要。例如,如果您在 initWithFrame:
中设置子视图并使用给定的框架对其进行布局(意味着静态框架,而不是约束),在自动布局 viewControllers
中,框架将不会得到更新。
但是,使用约束布局子视图对非自动布局没有影响viewControllers
。在自定义控件的给定静态框架中,子视图将根据您的约束进行布局。
这是一个笼统的解释,因为我对您的特定控制器了解不多。希望这是有道理的,你会发现有帮助。