我正在用一个带有图像集的三个NSButton做一个小应用程序.这些按钮没有边框也没有背景.但是,当我单击一个按钮时,它变成一个灰色矩形.
我怎样才能解决这个问题?谢谢.
我有一个自定义UIView对象,nib用于定义视图/子视图布局.我的插座是连接的,当我从initWithFrame:一切启动对象时,它是有序的.
我遇到的问题是当我使用IB将其UIView嵌入另一个笔尖时; 自定义UIView出现,但它包含的子视图都没有出现 - 实际上它们的符号都解析为nil.我有一个非常小的initWithCoder:和awakeFromNib:实现(只是做记录),我的理解是,当笔尖反序列化的子视图至少应该在过程中初始化?
我自己得出的唯一结论就是两件事之一正在发生:我的插座引用是坏的/坏的并且不起作用,或者我对从笔尖加载过程的理解是错误的我是遗漏了什么.
提前致谢!
编辑:(根据要求为Nekto发布的代码......正如您将看到的,它会记录并且就是这样,嘿.)
- (id)initWithCoder:(NSCoder *)aDecoder {
if ((self = [super initWithCoder:aDecoder])) {
NSLog(@"ThumbnailGridView.initWithCoder frame= %f, %f", self.frame.size.width, self.frame.size.height);
}
return self;
}
- (void)awakeFromNib
{
NSLog(@"ThumbnailGridView:awakeFromNib");
}
Run Code Online (Sandbox Code Playgroud)
编辑2:笔尖,控制器,子视图等
Nibs:我有一个包含UIView的笔尖.这个UIView包含一个UIScrollView,它充满了另一个nib中定义的UIViews网格.(注意:这部分工作正常,因为填充是以编程方式完成的,并且与initWithFrame:call一起工作.)这里的问题是在initWithCoder之后UIScrollView符号是nil:并且awakeFromNib:都被调用,因此对象只是被添加到没有,没有任何反应.如果scrollview符号不是nil,我相信这会有效.
控制器:有两个控制器使用它,一个用initWithFrame完成:并且工作完美,另一个将它嵌入基于nib的引用.(如此处其他地方所述,在IB中定义UIView,设置自定义类.)我逐步完成了代码,并且该视图正在被正确初始化 - 只有它的子视图"缺失".
这有助于更清楚地了解情况吗?
在 iOS 14 下,我的应用程序中的日期/时间选择器已损坏。项目中没有任何变化。它们在故事板中定义并且运行良好,直到我几天前更新。
现在他们不是纺纱厂;它们是带有静态文本的大灰色框。
更新:Apple 通过将日期/时间选择器的样式默认为“自动”而不是“轮子”(以前存在的唯一样式,并且每个人的现有屏幕布局都是为它设计的)破坏了现有项目。请参阅下面的 Sanzio 的回答。
调用IBAction时:
-(IBAction) onClick1: (id) sender;
Run Code Online (Sandbox Code Playgroud)
发件人传递了什么?由于它通过IB连接起来,我不太确定.我的问题是如何让按钮的文本成为传递的对象(最有可能是NSString),以便我可以在动作实现中调用它.
-(IBAction) onClick1: (id) sender {
NSLog(@"User clicked %@", sender);
// Do something here with the variable 'sender'
}
Run Code Online (Sandbox Code Playgroud) 我创建了一堆单元格,我在表格视图中重复使用.所有这些细胞UILabel内部都有不同的s和一些UIImageViews(没有任何东西覆盖整个细胞).
在IB中设置背景颜色没有效果(总是白色或透明,不能说明其中哪一个).但是,如果按下Command-R(模拟界面),单元格在模拟器中具有正确的背景颜色.
我尝试将其设置为tableView:cellForRowAtIndexPath:但它不会像我想的那样工作.
这样做的诀窍:
cell.contentView.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud)
但这些没有效果(即使我设置cell.contentView.backgroundColor为clearColor):
cell.backgroundView.backgroundColor = [UIColor redColor];
cell.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud)
我在IB中设置了所有布局/字体/背景内容.知道为什么这不适用于这种情况?
为什么我需要修改contentView's backgroundColor而不是backgroundView's?
这似乎是一个普遍的问题.有人可以指出我正确的方向(最终)了解如何在表格视图单元格中处理背景颜色.
在我的appdelegate.m中,不调用applicationDidFinishLaunching.我已经读过这是因为我的"应用程序"的委托没有正确连接,但我不知道如何连接它.我所做的是右键单击XIB文件中的Application,然后将委托出口拖到某个地方......但不知道在哪里.任何帮助赞赏.谢谢 !
我刚刚下载了Xcode(6.3)的最新公开版本,我注意到我的应用程序的故事板现在是我的Retina MacBook Pro的低分辨率.图像,文本和标准UI元素都显得模糊.在实际的设备上,一切看起来都很好,代码在Interface Builder中工作时看起来仍然很清晰.
有没有人注意到这一点并想出办法解决它?这在Swift和Objective-C项目中都有发生,包括Apple的示例项目(Master-Detail Application等).
我有一个自定义视图(xib),其中有一个UIButton内部,我IBDesignable做了以下内容:
UserView.swift
import UIKit
@IBDesignable
class UserView: UIView {
@IBOutlet var view: UIView!
@IBOutlet weak var userButton: UIButton!
override init(frame: CGRect) {
super.init(frame: frame)
load()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
load()
}
fileprivate func load() {
Bundle.main.loadNibNamed("UserView", owner: self, options: nil)
addSubview(view)
self.frame = bounds
}
}
Run Code Online (Sandbox Code Playgroud)
UserView.xib
UserView 我添加了一个UIView Bar Button Item并分配了UserView类,但没有渲染,我得到以下构建错误:
错误:IB Designables:无法呈现和更新FoodViewController(bR3-Kz-wX7)的自动布局状态:代理引发了异常.
我目前的环境:Xcode 9,Swift 4
比方说,我有一个IBAction,它连接到界面构建器中的UIButton.
- (IBAction)functionToBeCalled:(id)sender
{
// do something here
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中,例如在另一种方法中说,调用IBAction的最佳方法是什么?
如果我试着像这样调用它,我收到一个错误:
[self functionToBeCalled:];
Run Code Online (Sandbox Code Playgroud)
但是,如果我试着像这样打电话(我觉得有点作弊),它运作正常:
[self functionToBeCalled:0];
Run Code Online (Sandbox Code Playgroud)
正确调用它的正确方法是什么?

看到20px(相当于)填充?IB会在两种情况下自动执行此操作,当您点击Cmd + =自动调整超级视图以适合子视图内容时,以及何时选择Editor > Embed In > UIView, UIScrollView etc..
后者特别烦人,因为它需要一步一步节省时间并将其转换为重新定位麻烦,这比手动操作稍微好一点,并且在将它们拖动到不同位置时丢失所有子视图的相对位置层次结构.
另外,通过Embed In选项,IB将新的超级视图包装的位置移动(-20,-20),好像这样可以更好......
我在这里错过了什么吗?有没有办法防止这种填充?
ios ×6
xcode ×5
cocoa ×3
iphone ×3
cocoa-touch ×2
appkit ×1
ibaction ×1
ibdesignable ×1
macos ×1
nib ×1
nsbutton ×1
objective-c ×1
swift ×1
uidatepicker ×1
uitableview ×1
uiview ×1
xcode6.3 ×1