在Basic Operators一节中,Swift编程语言指南指出++是一个有效的运算符:
"更复杂的例子包括逻辑AND运算符&&(如在输入DoorCode &&传递瑞典扫描中)和增量运算符++ i, 这是一个将i的值增加1的快捷方式."
摘录自:Apple Inc."The Swift Programming Language."iBooks.https://itun.es/gb/jEUH0.l
但是,在游乐场尝试这个时;
import UIKit
let i = 0
i++
Run Code Online (Sandbox Code Playgroud)
构建错误显示:
swift一元运算符'++'不能应用于'Int'类型的操作数
为什么?
我想在a上绘制多个按钮UINavigationBar
.这些将在右侧或左侧.
当使用自动布局时,我的理解是删除子视图(当然保留对它的引用),删除的子视图仍然知道它的自动布局约束.
但是,当稍后将其添加回超级视图时,子视图不再知道其帧大小.相反,它似乎得到零帧.
我假设autolayout会自动调整大小以满足约束条件.那不是这样吗?我认为自动布局意味着不要弄乱框架.添加子视图时是否仍需要设置初始帧rect,即使使用自动布局?
在Xcode 7中,Apple添加了XCUITest作为测试应用程序UI的新方法.
我想迁移旧的测试脚本,但是在使用XCUITest时没有找到有关如何设置自定义核心位置的任何信息.
老电话:
UIATarget.localTarget().setLocation({latitude: '48.21048', longitude: '16.3595'});
Run Code Online (Sandbox Code Playgroud)
我还尝试通过启动参数找到有关如何通过启动参数提供GPX-File作为解决方法的一些信息,但是如果可行且密钥是什么则没有成功和想法.
有谁知道如何使用XCUITest设置自定义核心位置?
虽然有很多文档和示例在XCode 3中创建模板,将它们转换为XCode4模板是一个噩梦......
首先,这是我发现的:
但他们都没有回答这个样本问题:
有谁可以创建文件夹内幕其他文件夹?
例如,如果您想在组中包含文件,则应编写:
<key>Definitions</key>
<dict>
<key>File1.h</key>
<dict>
<key>Group</key>
<string>Group1</string>
<key>Path</key>
<string>File1.h</string>
<key>TargetIndices</key>
<array/>
</dict>
<key>File1.m</key>
<dict>
<key>Group</key>
<string>Group1</string>
<key>Path</key>
<string>File1.m</string>
</dict>
</dict>
<key>Nodes</key>
<array>
<string>File1.h</string>
<string>File1.m</string>
</array>
Run Code Online (Sandbox Code Playgroud)
但是你如何在Group2中使用Group1呢?
我尝试了许多东西,与祖先玩耍,但除了一切都没有用之外.任何建议或任何文档(我在这些XCode模板上找不到任何文档)将不胜感激.
我喜欢将我的视图创建为独立的Xib文件,然后实例化它们并添加为子视图.
因此,在使用a时UINavigationBar
,我希望能够做同样的事情,首先创建我的自定义视图 - 从Xib - 然后将其作为自定义视图添加到UIBarButtonItem
:
UIBarButtonItem *anItem = [[UIBarButtonItem alloc] initWithCustomView:_myCustomView];
Run Code Online (Sandbox Code Playgroud)
然后添加到导航栏:
self.navigationBar.topItem.rightBarButtonItems = @[ anItem, anotherItem ];
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
现在,_myCustomView
使用自动布局(AL),我认为这没有问题.不是这样的.我已经尝试了一切.没有任何效果.我甚至尝试将自定义视图添加为具有导航栏的控制器的子视图.认为作为视图层次结构中的兄弟姐妹,AL会将其视为常规视图UINavigationBar
.
那也行不通.控制器updateViewConstraints
被调用但从未应用过.视图的初始框架保持不变CGRectZero
.好像AL看到视图位于a之上UINavigationBar
,即使是兄弟,也决定它不需要布局.
当然,我已经尝试了bringSubviewToFront
,translatesAutoresizingMaskIntoConstraintstranslatesAutoresizingMaskIntoConstraints
等等.后者给了可爱的:
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'执行-layoutSubviews后仍需要自动布局.MyNavigationBar的-layoutSubviews实现需要调用super.
所以,问题是,是否有人从Xib加载了AL的自定义视图,并成功将其设置为customView
on UIBarButtonItem
?on ?如果是这样,怎么样?
我正在使用CGRect创建一个图像框架.我想将创建的矩形居中.
我已经在这里以及Apple文档中找到了最佳方法,并找到了获得中心坐标的CGRectGetMidY和CGRectGetMidX.
当我尝试将此实现到我自己的代码中时,我遇到了问题.我在UIIMageView类型的对象上找不到属性大小错误
#import "MyViewController.h"
@interface MyViewController ()
@end
@implementation MyViewController
@synthesize mySignatureImage;
@synthesize lastContactPoint1, lastContactPoint2, currentPoint;
@synthesize imageFrame;
@synthesize fingerMoved;
@synthesize navbarHeight;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor lightGrayColor];
CGRect mySignatureImageFrame = CGRectMake(
CGRectGetMidX(self.view.frame) - (mySignatureImage.size.width/ 2.0),
CGRectGetMidY(self.view.frame) - (mySignatureImage.size.height / 2.0),
image.size.width,
image.size.height);
#import <UIKit/UIKit.h>
@interface MyViewController : UIViewController <UIAlertViewDelegate>
@property (nonatomic, strong) UIImageView *mySignatureImage; …
Run Code Online (Sandbox Code Playgroud)
使用facebook-facebook-ios-sdk-cf1c2c3,在我的应用程序移动到后台之前,_sessionDelegate对象正在被释放.
这意味着当应用程序在身份验证/授权回调后到达前台时,Facebook.m中的此方法命中会导致EXC_BAD_ACCESS:
- (void)fbDialogLogin:(NSString *)token expirationDate:(NSDate *)expirationDate
Run Code Online (Sandbox Code Playgroud)
该方法中的违规行是这一行:
if ([self.sessionDelegate respondsToSelector:@selector(fbDidLogin)]) {
[_sessionDelegate fbDidLogin];
}
Run Code Online (Sandbox Code Playgroud)
我认为这是因为在Facebook.h中,_sessionDelegate被分配不保留.因此在某些时候它被解除分配:
@property(nonatomic, assign) id<FBSessionDelegate> sessionDelegate;
Run Code Online (Sandbox Code Playgroud)
将其更改为保留似乎可以解决问题:
@property(nonatomic, retain) id<FBSessionDelegate> sessionDelegate;
Run Code Online (Sandbox Code Playgroud)
对我来说似乎太明显了.因此我必须遗漏一些东西!
有任何想法吗?
非常感谢,xj
我使用了一个非常简单的app应用程序(github上的源代码)UICollectionView
.
只要应用程序处于纵向模式,一切正常.但是,当它更改为横向模式时,内容单元格不会被适当调整大小,因此不会显示任何内容.
我认为所有必要的AutoLayout约束都已到位.我知道我可以实现collectionView:layout:sizeForItemAtIndexPath:
,但我的目标是尽可能多地使用AutoLayout(只是为了更好地理解AutoLayout).
我在这里错过了什么?
通过尝试 Swift Packages,我创建了一个新包。现有 Xcode 项目框架目标中的源文件和资源已移至新结构中。
尝试构建时,脚本显示错误:
manifest property 'defaultLocalization' not set; it is required in the presence of localized resources
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题以便我可以创建 Swift 包?
xcode localization localizable.strings swift swift-package-manager
ios ×5
autolayout ×3
objective-c ×3
xcode ×3
iphone ×2
swift ×2
cgrect ×1
cocoa ×1
facebook ×1
ios6 ×1
localization ×1
subview ×1
uiimage ×1
xcode-bots ×1
xcode4 ×1