在我的xcode项目中,我有一个UIImage.我想让它从左到右摇动(动画)一点点.我写了这段代码,然而,它没有用.
-(void)errorShake
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.0];
    [lockImage setTransform:CGAffineTransformMakeRotation(-5 * M_PI / 180.0)];
    [lockImage setTransform:CGAffineTransformMakeRotation(-10 * M_PI / 180.0)];
    [lockImage setTransform:CGAffineTransformMakeRotation(-15 * M_PI / 180.0)];
    [lockImage setTransform:CGAffineTransformMakeRotation(-20 * M_PI / 180.0)];
     [lockImage setTransform:CGAffineTransformMakeRotation(-15 * M_PI / 180.0)];
     [lockImage setTransform:CGAffineTransformMakeRotation(-10 * M_PI / 180.0)];
     [lockImage setTransform:CGAffineTransformMakeRotation(-5 * M_PI / 180.0)];
     [lockImage setTransform:CGAffineTransformMakeRotation(0 * M_PI / 180.0)];
     [lockImage setTransform:CGAffineTransformMakeRotation(5 * M_PI / 180.0)];
     [lockImage setTransform:CGAffineTransformMakeRotation(10 * M_PI / 180.0)];
     [lockImage setTransform:CGAffineTransformMakeRotation(15 * M_PI / 180.0)];
     [lockImage setTransform:CGAffineTransformMakeRotation(20 * M_PI / 180.0)]; …Run Code Online (Sandbox Code Playgroud) 我以编程方式创建了一个工具栏
UIToolbar *boolbar = [UIToolbar new];
    boolbar.barStyle = UIBarStyleDefault;
    boolbar.tintColor = [UIColor orangeColor];
    [boolbar sizeToFit];
Run Code Online (Sandbox Code Playgroud)
然后添加一个按钮:
UIBarButtonItem *cancelleftBarButton =[[UIBarButtonItem alloc]initWithTitle:@"OK" style:UIBarButtonItemStyleBordered target:self action:@selector(tapBackGround:)];
cancelleftBarButton.tintColor = [UIColor orangeColor];
NSArray *array = [NSArray arrayWithObjects:cancelleftBarButton, nil];
[boolbar setItems:array animated:YES];
Run Code Online (Sandbox Code Playgroud)
但是,此按钮仅出现在工具栏的左侧.是否可以将其放在工具栏的右侧?

我有一个UIDatePickermm/dd/yy.它工作正常,但有一个问题:我设置minimum和maximum约会它,当用户试图选择禁止的日,月或年,该[datePicker date]属性开始工作错误.它会返回current day - 1或者current month - 1或current year - 1.我添加了一些图片,所以你可以看到情况.
 这是对的
 这是错误的(选择禁止日期后)
有人知道,我该如何解决这个问题?谢谢 !
UPD: 代码
[self.myDatePicker setMinimumDate:[NSDate date]];
[self.myDatePicker setMaximumDate:[[NSDate date] addTimeInterval:2 * 365.25 * 24 * 60 * 60]]; // to get upto 5 years
NSDate * now = [[NSDate alloc] init];
[self.myDatePicker setDate: now animated: YES];
self.myDatePicker.timeZone = [NSTimeZone localTimeZone];
self.myDatePicker.calendar = [NSCalendar currentCalendar];
Run Code Online (Sandbox Code Playgroud) 我实现了一个Facebook登录按钮,完全正常.但是,在用户成功登录Facebook并返回应用程序后,[FBSDKAccessToken currentAccessToken]返回NO.我添加了一个观察者,看看我想要的代码在返回应用程序后是否正在运行:
-(void)viewDidLoad
{
   [[NSNotificationCenter defaultCenter] addObserver:self   selector:@selector(checkLogIn)name :UIApplicationWillEnterForegroundNotification object:nil];
}
-(void)checkLogIn
 {
         NSLog(@"IN CHECK LOG IN");
        if ([FBSDKAccessToken currentAccessToken]) {
            NSLog(@"Access Token Activated");
        }
 }
Run Code Online (Sandbox Code Playgroud)
登录后,当我返回应用程序时,checkLogIn方法被调用但[FBSDKAccessToken currentAccessToken]仍然返回NO.但是,在我按下iPhone上的主页按钮并返回应用程序后,它会更改为YES.
如何立即更新,以便我可以向用户显示另一个视图控制器?
更新: 
我找到了回到应用程序后执行正确代码的方法.关键是使用FBSDKAccessTokenDidChangeNotificationNotification Center.所以最终的结果是这样的:
 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn) name: FBSDKAccessTokenDidChangeNotification object:nil];
Run Code Online (Sandbox Code Playgroud)
这样,令牌将被更新,它将起作用.
我有一个array充满了NSDictionaries.我想找到index一本字典,但我对这本字典的了解只是一个value关键@"name". 
我怎么做?
我NSMutableArray的NSMutableArrays:
 NSMutableArray *array = [[NSMutableArray alloc]init];
        for (int i = 0; i < 5; i++)
        {
            NSMutableArray *miniArray = [[NSMutableArray alloc]init];
            for (int k = 0; k < 30; k++)
            {   
                [miniArray addObject:@"0"];
            }
            [array addObject:miniArray];
        }
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试这样做时:
 [[array objectAtIndex:packIndex]replaceObjectAtIndex:index withObject:@"1"];
Run Code Online (Sandbox Code Playgroud)
它崩溃了: [__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object'
为什么?怎么修 ?谢谢 !
UPD:我把这个数组保存在NSUserDefaults:
[defaults setObject:array forKey:@"mainArray"];
Run Code Online (Sandbox Code Playgroud)
然后,我在其他课程中阅读:
array = [[NSMutableArray alloc]initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"mainArray"]];
Run Code Online (Sandbox Code Playgroud)
此外,我必须提到,有时代码运行良好,它将"0"更改为"1".但它有时也崩溃了.所以我无法看到逻辑,为什么它工作正常或为什么它有时会崩溃.
我正在开发我的iphone应用程序,现在我想将我的应用程序发送给我的测试人员.但是我应该如何发送给他们呢?另外,他们没有Xcode.有必要吗?
我使用Metal和CADisplayLink实时过滤CIImage并将其渲染为MTKView。
// Starting display link 
displayLink = CADisplayLink(target: self, selector: #selector(applyAnimatedFilter))
displayLink.preferredFramesPerSecond = 30
displayLink.add(to: .current, forMode: .default)
@objc func applyAnimatedFilter() {
    ...
    metalView.image = filter.applyFilter(image: ciImage)
}
Run Code Online (Sandbox Code Playgroud)
根据Xcode中的内存监控器,iPhone X上的内存使用情况稳定,并且永远不会超过100mb,在iPhone 6或iPhone 6s等设备上,内存使用率一直在增长,直到最终系统终止了该应用程序。
我已经使用检查了内存泄漏Instruments,但是没有泄漏报告。通过分配运行该应用程序也不会显示任何问题,并且该应用程序也不会被系统关闭。我还发现有趣的是,在较新的设备上,内存使用情况是稳定的,但在较旧的设备上,它的使用却在不断增长。
过滤器的复杂程度无关紧要,因为即使我尝试了大多数简单的过滤器,问题仍然存在。这是我的金属文件中的一个示例:
extern "C" { namespace coreimage {
    float4 applyColorFilter(sample_t s, float red, float green, float blue) {
        float4 newPixel = s.rgba;
        newPixel[0] = newPixel[0] + red;
        newPixel[1] = newPixel[1] + green;
        newPixel[2] = newPixel[2] + blue;
        return …Run Code Online (Sandbox Code Playgroud) 我有一个XIB工作正常,直到今天 - 当我尝试在Xcode中打开它时,沙滩球出现并在1分钟后Xcode崩溃.其他人XIBs工作得很好.此外,如果我只是构建并运行项目直接到我的设备,它也工作(和XIB在应用程序工作).
这是错误消息:
Crashed Thread:  0  Dispatch queue: com.apple.main-thread
Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 4G1004
ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-1929/IBPlugin/Utilities/IBObjectMarshalling.m:651
Details:  Failed to arbitrate IBNSLayoutConstraint, IBUIButton, IBUIImageView, IBUILabel, IBUITextField, and IBUIView.
Interface Builder encountered an error communicating with the iOS Simulator. If you choose to file a crash report or radar for this issue, please check Console.app for crash reports for "Interface Builder Cocoa Touch Tool" and include their …Run Code Online (Sandbox Code Playgroud) 我PencilKit在我的应用程序中使用并让我的用户在PKCanvasView. 但我不希望他们能够保存空白图纸。所以我需要检查是否PKDrawing为空白(除了透明像素之外不包含任何内容)。我在官方文档中找不到具体的方法。
我尝试将 转换PKDrawing为Data并检查它是否为空,但即使图纸为空白,情况也不会如此。
有没有一种方便的方法来检查 或 是否PKDrawing为PKCanvasView空?
或者,有没有办法检查是否UIImage仅由透明像素组成?
ios ×8
objective-c ×7
xcode ×6
iphone ×5
swift ×2
uiimage ×2
cocoa ×1
cocoa-touch ×1
core-image ×1
crash ×1
facebook ×1
metal ×1
nsarray ×1
pencilkit ×1
uibutton ×1
uidatepicker ×1
xib ×1