jjzjj

layoutSubviews

全部标签

ios - 使用 layoutSubviews 与 drawRect 自定义 UIView 绘图

CAShapeLayers的绘制应该从drawRect()调用还是从layoutSubviews()调用?根据Apple关于UIViews的文档,绘图操作应该放在drawRect()中。然而,在KevinCathey的WWDCsession中情况并非如此:What'sNewinInterfaceBuilder(他在其中演示了构建可在InterfaceBuilder中访问的自定义UIView的过程)。在演示期间,他在layoutSubviews中执行View的绘制,而不是在drawRect中执行。他的解释是:IfIweretoimplementdrawRect,that'snotgoin

ios - UIView:layoutSubviews 与 initWithFrame

当继承UIView时,我通常将所有初始化和布局代码放在它的init方法中。但我被告知布局代码应该通过覆盖layoutSuviews来完成。有一个post在SO上解释了何时调用每个方法,但我想知道如何在实践中使用它们。我目前将我所有的代码都放在init方法中,如下所示:MyLongView.m-(id)initWithHorizontalPlates:(int)theNumberOfPlates{self=[superinitWithFrame:CGRectMake(0,0,768,1024)];if(self){//Initializationcode_numberOfPlates=t

ios UITableViewCell 以编程方式在 drawRect 与 layoutSubviews 中创建

我一直在尝试通过自动布局创建复杂的UITableViewCell,但它在滚动时会产生巨大的性能延迟,所以我决定采用基于框架的方式,即以编程方式。单元格布局的复杂性就像Facebook卡片,其中每个单元格对于动态文本和图像都是不同的。我尝试在layoutSubviews中渲染单元格,但滚动仍然很差,但比Autolayout更好。我还尝试在drawRect中渲染单元格,这提供了最佳性能,但在滚动时我无法更新帧,因为它只被调用一次。有人可以指导我最好的滚动性能的最佳情况吗?我卡住了。 最佳答案 我也得出了同样的结论,即在处理具有一定复杂性

ios - 在 layoutSubviews 中旋转 View

背景和目标目标:我想旋转和翻转一个UITextView。(原因:查看我的previousquestion)问题:如果我直接在UITextView上进行转换,文本布局会由于某种未知原因而变得困惑。解决方案:将UITextView放在UIView容器中,然后在容器上做transform。新问题:旋转View上的自动布局(或任何类型的布局)变为amajorheadache.建议的解决方案:创建UIView的子类,作为旋转和翻转的UIView的附加容器。自动布局应该在这个自定义View上工作。当前问题它在所有内容首次出现时起作用(UITextView具有黄色背景):但是当方向发生变化时,会发生

iOS:确定所有 child 何时调用了 layoutSubviews

看起来viewDidLayoutSubviews是在layoutSubviews对View调用之后立即调用的,在layoutSubviews对该View的subview调用之前。有什么方法可以知道何时在View上调用了layoutSubviews及其所有也需要更新布局的subview? 最佳答案 您不必知道subview的subview是否更新了它们的布局:这听起来耦合太紧了。此外,每个subview可能会以不同方式处理各自subview的排列,并且可能根本不需要(需要)为其subview调用layoutSubviews。你应该只需

ios - [super layoutSubviews] 的正确调用方式是什么?

我刚刚在适用于iOS的FacebookSDK中看到他们在layoutSubviews方法的末尾而不是开头调用了[superlayoutSubviews];。据我所知,我们应该始终将其作为第一行。以不同的方式实现它会导致任何意外的UI行为吗?-(void)layoutSubviews{CGSizesize=self.bounds.size;CGSizelongTitleSize=[selfsizeThatFits:sizetitle:[self_longLogInTitle]];NSString*title=(longTitleSize.width 最佳答案

objective-c - iOS5、UIScrollView 和 layoutSubviews 行为

在我的应用程序中(代码非常类似于来自WWDC10的Apple的PhotoScroller演示),我有一个UIScrollView。在ScrollView中,我用如下代码覆盖了layoutSubviews:-(void)layoutSubviews{[superlayoutSubviews];//centertheimageasitbecomessmallerthanthesizeofthescreenCGSizeboundsSize=self.bounds.size;...}在iOS4.x中,如果应用程序以横向模式启动(用户横向握住它),那么layoutSubviews会被调用两次(非

iphone - layoutSubviews 究竟什么时候被自定义 UITableViewCell 调用?

在UITableViewCellscellForRowAtIndexPath方法中,layoutSubviews究竟何时在自定义UITableViewCell上被调用?下面,我需要在设置FiltersTableViewCellItem属性后调用layoutSubviews。我的设置是否正确?我希望能够使用layoutSubviews,因为我听说它的性能更好。-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*cel

ios - 为什么我现在每次启动应用程序时都会收到 "Auto Layout still required after executing -layoutSubviews"错误?

由于我添加了以下代码,每次我的应用程序打开此UITableViewController时都会崩溃:self.noArticlesView=[[UIViewalloc]init];self.noArticlesView.translatesAutoresizingMaskIntoConstraints=NO;self.noArticlesView.backgroundColor=[UIColorcolorWithRed:0.961green:0.961blue:0.961alpha:1];[self.viewaddSubview:self.noArticlesView];[self.vi

ios - UIView/CALayer : Transform triggers layoutSubviews in superview

当更改UIView的某些属性时,它会触发superview中的layoutSubviews。我在文档中找不到关于此的任何声明。这些属性触发父View和自身的布局框架界限这些属性仅在父View中触发布局转变layer.transform这些属性仅在自身触发布局无这些属性不会触发任何布局居中layer.anchorPointlayer.position阿尔法我发现transform会触发布局,而position和anchorPoint不会。示例代码:https://github.com/hfossli/LayoutSubviewsInconsistency我想知道:为什么我会看到这种行为如