草庐IT

LayoutSubviews

全部标签

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我想知道:为什么我会看到这种行为如

ios - 如何强制 UIView 的 layoutSubviews?

我有一个自定义UIView,它有一个专用的、手动设置的纵向和横向框架,因为autoresizingMasks在我的情况下不起作用。我将这个框架设置在:-(void)viewWillAppear:(BOOL)animated它按预期工作。我现在的问题是,我的UIView还有subview,这些subview也有专门的纵向/横向位置。我将这些subview定位在:-(void)layoutSubviews如果我现在让我的viewController处于例如纵向,在另一个viewController上旋转到横向,然后返回到这个viewController,我看到我的View已正确调整大小,但

ios - 什么时候调用layoutSubviews?

我有一个自定义View,它在动画期间没有收到layoutSubview消息。我有一个填满屏幕的View。它在屏幕底部有一个自定义subview,如果我更改导航栏的高度,它会在InterfaceBuilder中正确调整大小。layoutSubviews在创建View时调用,但不会再次调用。我的subview布局正确。如果我关闭通话中的状态栏,则subview的layoutSubviews根本不会被调用,即使主视图确实为其调整大小设置了动画。layoutSubviews在什么情况下才真正被调用?我将自定义View的autoresizesSubviews设置为NO。在InterfaceBui