我有Xcode 6 beta 6,只是想在我的项目中添加一个新类.
现在,它是文件 - >新文件 - >目标-C文件,我必须在空文件,类别,协议和扩展之间进行选择.我只想创建一个新类(比如说HelloWorld),它继承自let NSObject
.
通常,Xcode会创建.m
文件并自动创建.h
文件,但现在它只创建了.m
名为NSObject_HelloWorld.m的文件.没有创建头文件,我也不希望使用Superclass_newClass命名方案.
我错过了什么?
nil
尽管ListCell
是有效的类,但仍打印以下代码.
var lCellClass : AnyClass! = NSClassFromString("ListCell");
println(lCellClass);
Run Code Online (Sandbox Code Playgroud)
文档说该方法返回
由aClassName命名的类对象,或者
nil
当前没有加载该名称的类.如果aClassName是nil
,则返回nil
.
我也尝试获得NSClassFromString()
当前的viewcontroller,它已经加载但仍然可以获得nil
可能是什么问题?
更新:
即使尝试这样做NSClassFromString("Array")
我仍然得到nil
我的一些用户正在遭遇这次崩溃.
据我所知,它以某种方式连接到-drawRect:
我的子类的方法NSTextView
,但我看不出可能导致它的原因,并且压力测试未能摆脱错误.
drawRect的代码
- (NSRange)visibleRangeOfTextView:(NSRect) rect {
NSLayoutManager *layoutManager = [self
layoutManager];
NSTextContainer *textContainer = [self
textContainer];
NSRange glyphRange, characterRange;
// first transform to text container coordinates
NSPoint containerOrigin = [self textContainerOrigin];
rect.origin.x -= containerOrigin.x;
rect.origin.y -= containerOrigin.y;
// next, compute glyph range
glyphRange = [layoutManager glyphRangeForBoundingRect:rect inTextContainer:textContainer];
// finally, compute character range
characterRange = [layoutManager characterRangeForGlyphRange:glyphRange actualGlyphRange:NULL];
return characterRange;
}
- (NSRect)rectForCharacterRange:(NSRange)charRange
{
NSRect rect = [self
firstRectForCharacterRange:charRange];
rect.origin = [[self window]
convertScreenToBase:rect.origin];
rect = …
Run Code Online (Sandbox Code Playgroud) 我想要的是类似的东西
-(UIView*) fromPoint: (CGPoint) point inView:(UIView*) superView
Run Code Online (Sandbox Code Playgroud)
这样的事情已经出现了吗?我想要它,以便我可以成功地交换任何两个UIImageView
中的内容,如果一个被拖放到另一个上.
一种方法是检查所有子视图是否包含提供的点.还有其他方法吗?
谢谢.
数组–join(_:)
函数抛出EXC_BAD_ACCESS.
var ar1 = [1,2,3]
var ar2 = [5,6,7]
var res = ar1.join(ar2)
Run Code Online (Sandbox Code Playgroud)
有人遇到过这个问题吗?任何解决方案或建议?
我正在Swift的Xcode6 beta 4中开展一个项目.但是我在这个项目上遇到了很多问题,这个问题在Xcode6 beta 3中运行良好:
在早于7.0的iOS上,Swift不可用;
我记得Swift应该适用于iOS 6.0及以上版本.为什么突然改为iOS 7.0?
"ViewController"类没有初始化程序
'IBOutlet'属性具有非可选类型'UILabel'
所以我必须将我的代码更改为:
@IBOutlet weak var label: UILabel!
Run Code Online (Sandbox Code Playgroud)
它会在下一个版本中再次更改吗?
另一个问题是:
'CGColorSpaceModel'没有名为'value'的成员
我的代码是:
var colorSpaceModel : CGColorSpaceModel
{
return CGColorSpaceGetModel(CGColorGetColorSpace(self.CGColor))
}
if self.colorSpaceModel.value == kCGColorSpaceModelRGB.value || self.colorSpaceModel.value == kCGColorSpaceModelMonochrome.value {
Run Code Online (Sandbox Code Playgroud)
我不知道我现在该做什么.
KVO观察员#keyPath(UIView.isHidden)
不起作用,但"hidden"
工作.
很奇怪.是bug还是功能?
child.addObserver(self, forKeyPath: "hidden", options: [.initial,.new], context: nil);
override func observeValue(forKeyPath keyPath: String?, of object: Any?, .change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if let view = object as? UIView, view.superview === self && keyPath == "hidden" {
print("*");
}
}
Run Code Online (Sandbox Code Playgroud) 我想知道是否有一种方法可以启用文本的水平滚动,即字幕类型文本.我使用过这个库:https://github.com/cbpowell/MarqueeLabel-Swift并将"MarqueeLabel.Swift"文件添加到我的应用程序中.但到目前为止,它并没有显示出我想要的效果.
这是我实现它的方式:
class ViewController: UIViewController
{
@IBOutlet weak var marqueeLabel: MarqueeLabel!
override func viewDidLoad() {
super.viewDidLoad()
self.marqueeLabel.tag = 101
self.marqueeLabel.type = .Continuous
self.marqueeLabel.speed = .Duration(5)
self.marqueeLabel.animationCurve = .EaseInOut
self.marqueeLabel.fadeLength = 10.0
self.marqueeLabel.leadingBuffer = 30.0
self.marqueeLabel.trailingBuffer = 20.0
self.marqueeLabel.restartLabel()
}
}
Run Code Online (Sandbox Code Playgroud)
我根据" MarqueeLabel Swift not working "中的解决方案在界面构建器中设置了自定义类.它仍然无法正常工作.
我得到的只是一个没有选框效果(或水平文字滚动)的标签.
PS:我也是iOS开发的新手.此外,我在实现此库之前尝试使用UIScrollView和UITextView.我不能使用UIWebView,因为我试图在TVOS中实现它.
我的问题是:
我在哪里错误的代码?
有没有其他方法可以使用Swift显示选框效果?
提前致谢.
我下载了一个使用的示例项目,MFMailComposeViewController
需求是框架MessageUI,并设置了MFMailComposeViewControllerDelegate
.
但是当通过代码时
MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];
mailController.mailComposeDelegate = self;
Run Code Online (Sandbox Code Playgroud)
在mailController
没有得到一个有效的地址0x0,这意味着它不分配内存.我不知道它不能分配.我查看了示例代码并正确分配了它.
有什么不同?为什么不能分配?
我只是想知道我的图像是否有x*y尺寸.
当视网膜显示设备显示用a创建的图像时CGRectMake(0,0,x,y)
,这会是像素化图像吗?
应该是正确的尺寸CGRectMake(0,0,x/2,y/2)
吗?
如何判断图像应该具有的矩形大小?
我需要使用contentScaleFactor = [UIScreen mainScreen].scale;
吗?
要不就是由它作为划分CGRectMake(0,0,x/contentScaleFactor,y/contentScaleFactor)
?