问题标签 [initwithframe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 为什么使用 initWithFrame: 方法启动视图时应用程序崩溃?
Fabric Crashlytics 报告了三个崩溃问题。我检查了 Stacktrace,这些问题是相似的。当启动 UIView(UIView 的子类、UIWebView 等)时,我的应用程序崩溃了。很难重现,因为一天只有少数用户受到影响。如果您能帮助我,我将不胜感激。
问题 1 堆栈跟踪:
问题1代码:
问题 2 堆栈跟踪:
问题2代码:
问题 3 堆栈跟踪:
问题3代码:
macos - InitWithCoder 从未调用基于 Cocoa NSView 的类
我创建一个XIB
.
我创建了这个名为的类MyCustomView
并将其分配给XIB
's File Owner。
NSView
我在主应用程序上创建了一个。
我将该视图更改为MyCustomView
.
我运行应用程序。MyCustomView
的initWithCoder
不运行。initWithFrame
不运行。awakeFromNib
不运行。
什么都没发生。
有任何想法吗?
ios - ios:关于 init(frame:) 和 init?(coder:) 的问题
init(frame:)
Apple 的教程描述了和init?(coder:)
as之间的区别
您通常通过以下两种方式之一创建视图:以编程方式初始化视图,或允许情节提要加载视图。每种方法都有一个相应的初始化程序:
init(frame:)
用于以编程方式初始化视图和init?(coder:)
从情节提要加载视图。您将需要在自定义控件中实现这两种方法。在设计应用程序时,Interface Builder 会在您将视图添加到画布时以编程方式将其实例化。在运行时,您的应用会从情节提要中加载视图。
我对“以编程方式初始化”和“由情节提要加载”的描述感到非常困惑。假设我有一个UIView
被调用的子类MyView
,“以编程方式初始化”是否意味着我编写代码来添加一个实例,MyView
例如:
虽然init?(coder:)
在Main.storyboard
我从对象库中拖动一个UIView
然后在身份检查器中将其类设置为MyView
?
此外,在我的 xcode 项目中,这两种方法最终得到了不同的模拟器布局和Main.storyboard
相同的代码:
为什么他们的行为不同?(我从对象库中拖动一个UIView
并将其类设置为 RecordView)
ios - 在 Superview 中更改子视图的框架
我有一个 ViewController,它添加一个UIView
,SpeciesImageView
作为子视图viewDidLoad
并在viewWillLayoutSubviews
.
SpeciesImageView
没有 nib 文件。当我们在 viewDidLoad 中创建时,它会在类中speciesImageView
调用。initWithFrame
SpeciesImageView
这工作正常(横向和纵向),直到手机旋转。我尝试将约束设置为speciesImageView.frame.size.width
,但这不起作用,因为initWithFrame
在方向更改时不会调用,因此高度/宽度speciesImageView
保持不变。
另一方面, usingscreenRect
不会改变 的实际大小UIView
,它会改变它在超级视图中的大小。所以换句话说,我还没有找到改变实际speciesImageView
方向变化大小的方法。
而且由于我丢失的原因,当您将其旋转回原始位置时,它会完全混乱。
ios - UICollectionViewCell -- 使 selectedBackgroundView 比单元格本身大
我试图找出一种方法,使我的单元格 selectedBackgroundView 大于单元格本身。
我的以下方法旨在制作 selectedBackgroundView:单元格的超级视图宽度(屏幕的整个宽度)X单元格的高度
选择此单元格时,背景颜色仅在单元格的范围内扩展(不达到超级视图的高度)
我怎样才能最好地完成使 selectedBackgroundView 大于单元格?我在这里采取了完全错误的方法吗?