- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个自定义 UIView,它从 UIViewController 实例化了 3 次。从该 UIViewController 的 viewDidLoad
方法:
self.remainingDays = [[RemainingTileView alloc] initWithFrame:CGRectMake(20, 49, 80, 75)];
self.remainingHours = [[RemainingTileView alloc] initWithFrame:CGRectMake(120, 49, 80, 75)];
self.remainingMinutes = [[RemainingTileView alloc] initWithFrame:CGRectMake(220, 49, 80, 75)];
[self.view addSubview:self.remainingDays];
[self.view addSubview:self.remainingHours];
[self.view addSubview:self.remainingMinutes];
在RemainingTileView类中,我有这个layoutSubviews方法:
- (void)layoutSubviews {
[super layoutSubviews];
if (self.number) // This is an NSNumber property
self.numberLabel = [self labelForNumber:[self.number intValue]];
else
self.numberLabel = [self labelForNumber:0];
if (self.unit) // This is an NSString property
self.unitLabel = [self labelForUnit:self.unit];
else
self.unitLabel = [self labelForUnit:@""];
[self configView];
}
创建 View 时,它在 if (self.number)
行与堆栈帧崩溃:
* thread #1: tid = 0x2403, 0x39f6c526 libobjc.A.dylib`objc_retain + 6, stop reason = EXC_BAD_ACCESS (code=1, address=0x10000010)
frame #0: 0x39f6c526 libobjc.A.dylib`objc_retain + 6
frame #1: 0x000dc742 myProject`-[RemainingTileView layoutSubviews](self=0x1e892b80, _cmd=0x344cde51) + 106 at RemainingTileView.m:63
frame #2: 0x3405d802 UIKit`-[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 258
frame #3: 0x33e07d8a QuartzCore`-[CALayer layoutSublayers] + 214
frame #4: 0x33e07928 QuartzCore`CA::Layer::layout_if_needed(CA::Transaction*) + 460
frame #5: 0x33e0885c QuartzCore`CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 16
frame #6: 0x33e08242 QuartzCore`CA::Context::commit_transaction(CA::Transaction*) + 238
frame #7: 0x33e08050 QuartzCore`CA::Transaction::commit() + 316
frame #8: 0x33e07eb0 QuartzCore`CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 60
frame #9: 0x322276cc CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20
frame #10: 0x322259c0 CoreFoundation`__CFRunLoopDoObservers + 276
frame #11: 0x32225d16 CoreFoundation`__CFRunLoopRun + 742
frame #12: 0x32198ebc CoreFoundation`CFRunLoopRunSpecific + 356
frame #13: 0x32198d48 CoreFoundation`CFRunLoopRunInMode + 104
frame #14: 0x35d6f2ea GraphicsServices`GSEventRunModal + 74
frame #15: 0x340ae300 UIKit`UIApplicationMain + 1120
frame #16: 0x000d3448 Project Countdown`main(argc=1, argv=0x2fd2ecf8) + 116 at main.m:17
self.number
是 NSNumber 的一个实例。正在从主线程修改 UI。我在 stackoverflow 上寻找现有的解决方案,但没有任何效果。
我错过了什么?我应该寻找什么?
最佳答案
您的属性声明似乎不正确。可能是分配
或weak
,而不是保留
、复制
或强
。
关于iphone - 自定义UIView导致layoutSubviews中的EXC_BAD_ACCESS代码= 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15372290/
代码: class ViewController: UIViewController{ var button = CustomButton() override func viewDi
我正在尝试重新定位我的 UIBarButtonItem,使其边缘紧靠 UINavigationBar 的顶部和右侧。我找到了 this accepted answer关于如何做到这一点,但我真的不明白
我刚刚在iOS版的Facebook SDK中看到,他们在layoutSubviews方法的结尾而不是开头调用[Super layoutSubviews];。。据我所知,我们应该始终把它作为第一条线来做
我有一些 Layer1作为子层附加到我的自定义 View 的根层。 然后,当我改变了 Layer1 的变换时,发生了一件有趣的事情。内touchesMoved , layoutSubviews 被调用
我有一个包含 2 个 subview 的 View - collectionView 和自定义 View 。我想设置一个操作在布置 2 个 View 后运行,但layoutSubViews 运行了两次
我有一个 View (LSTabBarView),它支持使用以下方法插入/删除新元素: - (void)insertItem:(LSTabItem *)item atIndex:(NSUInteger
我正在用 Swift 开发一个 iOS 应用程序,我有一个带有自定义 UITableViewCells 的 UITableView,通过覆盖 在单元格的左侧和右侧有间距layoutSubviews()
对于 Xcode 6 和 iOS8,我的应用程序出现了奇怪的问题。问题出在我用 xib 文件制作的自定义 UITableViewCell 中。在 iOS8 模拟器上,layoutSubviews 方法
问题“When does layoutSubviews get called?”中列出了几种情况: 调整了父 View 的大小 设备旋转 还有吗? 如果不需要处理,对于UITableView,我们可以
我希望标签的字体大小与屏幕大小成正比。我已将 UILabel 类子类化以实现此目的: @IBDesignable class MyCustomLabel: UILabel { override
当我的主视图旋转时,我想重新安排 subview ,所以在我的 ViewController 中,我重写了 willAnimateRotationToInterfaceOrientation:(UII
正如标题所说:我创建一个空的 UIView 子类并向其中添加一个 subview ,创建一个空的layoutSubviews 方法并在其中添加一个断点。然后我构建项目,并在layoutSubviews
我正在将我的 iOS 6 应用程序转换到 iOS 7 并且遇到了一些问题。 在 iOS 6 中,将调用不再调用的方法。 我的类继承自 UIAlertView。 例如: - (void)layoutSu
我处于两难境地,使用哪种方法来设置自定义 UIViews 的框架,其中包含许多 subview ,并且仍然有动画并自动调整到旋转。当我创建一个新的 View Controller 时,我通常会在 lo
我有许多自定义 UIView。 我经常发现自己在自定义 View 的初始化中初始化属性,但我也在那里设置了框架。 我通常将 layoutSubviews 留空。如果我不希望我的 View 边界发生变化
我创建了一个自定义 UITableViewCell 类。在该类中,我根据单元格内部的图像调整单元格的高度。 - (void)layoutSubviews { [super layoutSubv
我正在为我的应用程序创建一个设置 View ,该 View 中有一个 UITableView。我正在创建自定义单元格以满足我的需要,但我遇到了问题 - 只有最后一个单元格正在获取 [layoutSub
我在我的 ViewController 中实现了 commitEditingStyle 方法,这样我就可以在适当的单元格上滑动以将其删除。但是当我在 Debug模式下在一个单元格上滑动时,layout
使用 Xcode 4.2/iOS5.0 我有一个 viewController 和一个关联的 viewController.xib。 viewController 被设置为 .xib 文件的所有者。它
我正在尝试为某些 subview 创建自定义布局。我的文件是一个 ViewController,因此我必须将其 View 称为 self.view。 subview 是 self.view 的 sub
我是一名优秀的程序员,十分优秀!