我找不到任何与a中显示的文本值相关的参数NSTextView.我知道a NSTextView使用复杂的结构(有NSLayoutManager...等),但我找不到修改当前text值的有效方法.
我已经将我的代码更新为XCode 7和Swift 2.0,现在我的一些测试失败了,我在Test版本中看到了40个与他们引用的代码完全无关的警告列表.警告信息是:
"Cast From 'XCUIElement' to unrelated type 'String' always fails"
Run Code Online (Sandbox Code Playgroud)
这是产生警告的行的示例:
if let protocolStr = JSON["version"] as? String{
Run Code Online (Sandbox Code Playgroud)
我还没有使用XC用户界面测试......所以我无法理解为什么这段代码指的是那个类.任何的想法?
更新:11月9日 使用XCode 7.1,问题仍然存在.
我正处于一个艰难的选择中.我想学习一种语言,可以帮助我创建具有强大的艺术/创意/图形组件的应用程序,并将其用于我的客户的商业项目.
我的第一选择是OpenGL ES,我认为它是"标准"的方式.但是,与此同时,我发现了这个网站:http://www.creativeapplications.net/我在其中发现了许多很酷的ios应用程序,对于大多数使用OpenFramewors和Cinder构建的应用程序.
我的问题是:为什么选择这个2"包装"而不是OpenGL?我需要了解利弊.
我不确定使用这些框架我可以以简单(和标准)的方式混合(对于OpenGL)UIKit/Cocoa和Graphics.目前我仍然更喜欢OpenGL,因为我知道这是苹果建议的方式(我的意思是......由Apple提出),我确信我也可以为我的客户利用它.虽然我不确定使用OF和Cinder我可以毫不费力地完全管理UIKit和Cocoa.
我真的很生气这个问题!我有一个应用程序,其中包含一个简单的帮助应用程序,它管理主应用程序的登录项.
当我尝试提交应用时,我会收到与配置文件和权利相关的错误.我确信这个问题与Helper应用程序有关,因为在我添加之前,提交工作没有问题.
目前,帮助应用程序已经过代码签名,并被沙盒化为主应用程序.
错误是:
配置文件无效.捆绑包中包含的配置文件无效
无效的代码签名权利.应用包标签中的权利与配置文件中包含的权利不匹配.该包中包含一个未包含在"myapp.app/Contents/Library/LoginItems/helper.app"中的配置文件"com.apple.application-identifier"中的密钥
无效的代码签名权利.应用包标签中的权利与配置文件中包含的权利不匹配.该软件包包含一个密钥,该密钥未包含在"myapp.app/Contents/MacOS/myapp"中的配置文件"com.apple.application-identifier"中
我读了很多关于为这两个系统创建跨平台库的问题.每个答案都指向静态库作为解决方案.
我不想最终得到一个静态库,我想用iOS的方法和OS X的对应方创建一个类.
-(void)createColor:(NSColor*);
-(void)createColor:(UIColor*);
Run Code Online (Sandbox Code Playgroud)
我遇到的第一个问题是我找不到使用仅在特定系统中可用的类的方法.那么,例如,我如何管理UIColor在iOS和NSColorOS X中使用的功能?
如果我为iOS创建一个项目,当我查看Foundation.h我NSColor.h在标题列表中找不到.
我想用TARGET_OS_MAC和TARGET_OS_IPHONE定义来区分两个系统......我是在正确的方式?
编辑添加更多信息:
目前我有2个目标:iOSTestApp和OSxTestApp.对于这些目标,我已根据系统包含了所需的框架.
仅当我选择OSXTestApp作为活动目标时才使用TARGET_OS_MAC和TARGET_OS_IPHONE工作.当我选择iOSAppTest时,Xcode会返回OS X数据类型的错误(即NSColor)
这里是产生这些错误的代码示例:
#if TARGET_OS_MAC
-(void)createColor:(NSColor*)color;
#elif TARGET_OS_IPHONE
-(void)createColor:(UIColor*)color;
#endif
Run Code Online (Sandbox Code Playgroud)
如果我反转定义它的工作原理......这里是一个产生这些错误的代码示例:
#if TARGET_OS_IPHONE
-(void)createColor:(UIColor*)color;
#elif TARGET_OS_MAC
-(void)createColor:(NSColor*)color;
#endif
Run Code Online (Sandbox Code Playgroud) 我想了解为什么如果我尝试在init方法中为对象(如NSButton)设置值(即setAlphaValue或setTitle)没有任何反应,但如果我在awakeFromNib中调用setter函数它可以正常工作.
@interface appController : NSObject {
NSButton *btn;
}
@end;
@implementation appController
-(void)awakeFromNib {
//it works
[btn setTitle:@"My title"];
}
-(id)init {
self = [super init];
if(self){
//it doesn't works
[btn setTitle:@"My title"];
}
}
@end
Run Code Online (Sandbox Code Playgroud) 要在Internet Explorer中创建线性渐变,我习惯采用这个(可怕的)代码:
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#282828', EndColorStr='#185976');
我想知道是否存在使用滤镜和DXImageTransoform创建径向渐变的方法?
我试着写
[self collectionView:myCollectionView didSelectItemAtIndexPath:selectedIndexPath]
和viewDidLoad中的UICollectionViewCell选择= YES,它确实实现了该方法didSelectItemAtIndexPath,但未选择单元格.
我在UICollectionViewCell子类中编写了所选状态(void)setSelected:(BOOL)selected.加载视图后,手动选择功能起作用.但是在视图首次加载后我无法自动选择一些项目.
我试着写代码:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
和
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath,一切都不行.
我发现它第一次运行viewDidLoad和didSelectItemAtIndexPath,然后cellForItemAtIndexPath,好像,我无法让细胞在indexPath(我知道)之前cellForItemAtIndexPath,因为在此之前,该小区是不存在的.那么如何在UICollectionView首次加载后选择一些项?
抱歉我的英语不好.提前致谢.
我正在学习OpenGL ES 2.0,我想创建一个应用程序来更好地理解它是如何工作的.该应用程序有一组用户可以应用于图像的过滤器(我知道,没什么新的:P).
其中一个过滤器需要两个图像和一个蒙版,它会混合显示它们的两个图像(这里是一个图像,以便更好地解释我想要获得的内容)

目前我真的很困惑,我不知道从哪里开始创造这种效果.我无法理解我必须使用多个纹理和多个FrameBuffers,或者我可以使用单个着色器.
你有什么提示可以帮助我做这个项目吗?
编辑 - - - -
我已经找到了这个解决方案,但是当我用作遮罩线而不是圆圈时,结果实际上是"蹩脚",特别是如果线条被旋转.
precision highp float;
varying vec4 FragColor;
varying highp vec2 TexCoordOut;
uniform sampler2D textureA;
uniform sampler2D textureB;
uniform sampler2D mask;
void main(void){
vec4 mask_color = texture2D(mask, TexCoordOut);
if (mask_color.a > 0.0){
gl_FragColor = texture2D(textureA, TexCoordOut);
}else {
gl_FragColor = texture2D(textureB, TexCoordOut);
}
}
Run Code Online (Sandbox Code Playgroud)
使用Stencil缓冲区或混合可能更好吗?
我想创建一种弹出视图,通过自定义过渡在主控制器中显示.
我将弹出式视图控制器创建到一个故事板中,然后将其视图设置为自由形式,然后调整视图大小.
我的问题是,当我使用instantiateViewControllerWithIdentifier视图加载视图控制器时,总是会重置为全屏.
这是我正在使用的代码,popUp大小应该是100x100,但是从这段代码我得到320X480.
self.popUp = (PopUpViewController*)[storyBoard instantiateViewControllerWithIdentifier:@"Popup"];
NSLog(@"%@",NSStringFromCGRect(self.popUp.view.bounds));
Run Code Online (Sandbox Code Playgroud)
如何设置自由格式视图控制器并以正确的大小以编程方式加载它?
cocoa ×4
ios ×4
macos ×3
objective-c ×2
cinder ×1
cocoa-touch ×1
css ×1
iphone ×1
nstextview ×1
opengl-es ×1
provisioning ×1
shader ×1
storyboard ×1
submission ×1
swift ×1
swift2 ×1
xcode ×1
xcode7 ×1