小编Mat*_*der的帖子

animateWithDuration和touchesBegan不能成对使用

当我的物体在我的屏幕上移动时,我需要触摸它.当touchesBegan调用我需要隐藏我的对象时.

这是我在UIViewController中的代码:

- (void)win {
    for (NSInteger i = 1; i <= 6; i++) {
        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"rocket_%d.png", i]]];
        imageView.tag = 1000;
        CGSize size = imageView.image.size;
        [imageView setFrame:CGRectMake(200 + (i * 60), 500, size.width, size.height)];
        [self.view addSubview:imageView];
        [rockets addObject:imageView];
        [imageView setUserInteractionEnabled:YES];
    }
    [self startRockets];
}

- (void)startRockets {

    CGFloat timeInterval = 1.0;
    for (UIImageView *imageView in rockets)  {
        [UIView animateWithDuration:5.0 delay:timeInterval options:UIViewAnimationOptionAllowUserInteraction animations:^{
            [imageView setFrame:CGRectMake(imageView.frame.origin.x, 0, imageView.frame.size.width, imageView.frame.size.height)];
        } completion:nil];
        timeInterval += 1.0;
    }


} …
Run Code Online (Sandbox Code Playgroud)

ios

2
推荐指数
1
解决办法
1110
查看次数

使用Xcode 5和Xcode 4.6.3的CocoaPods安装问题

在这个命令之后sudo gem install cocoapods我得到了错误.

我认为它连接到Xcode 5的错误路径.当我安装它时,我将它保存在桌面上,但他们将其移动到Application文件夹.我使用Xcode 4.6.3以及Xcode 5.如何更改路径来解决此问题.命令行工具安装在两个XCode上.

Building native extensions.  This could take a while...
ERROR:  Error installing cocoapods:
    ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
creating Makefile

make
xcrun cc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I. -DJSON_GENERATOR  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -arch i386 -arch x86_64 -g -O3 -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common   -c generator.c
xcrun: Error: could not stat active Xcode path '/Users/alex/Desktop/Xcode 5.app/Contents/Developer'. (No such file or directory)
cc -arch i386 -arch x86_64 -pipe -bundle …
Run Code Online (Sandbox Code Playgroud)

xcode cocoapods xcode5 xcode4.6.3

2
推荐指数
1
解决办法
885
查看次数

用边距设置最小字体大小UIButton

我已经找到了解决方案,该如何设置与我的按钮宽度相对应的最小字体大小:

button.titleLabel.numberOfLines = 1;
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.lineBreakMode = NSLineBreakByClipping;
Run Code Online (Sandbox Code Playgroud)

但是我怎么能在左边和右边增加边距。

因此,按钮标签的宽度与按钮宽度相同,为200 pt。我需要标题标签在左右两侧都留有空格,因此这意味着标签宽度必须为180pt,然后在左右两侧将分别为10pt。

我该如何实现?

uibutton ios

2
推荐指数
1
解决办法
2374
查看次数

AVCam保存全屏捕获的图像

我使用苹果公司制作的AVCam作为我的自定义相机视图.老实说,AVCamViewController如果你第一次看到它,那么理解课堂上发生的事情并不简单.

现在我感兴趣他们如何设置捕获图像的帧.我试图找到一些名人或类似的东西,但我没有找到任何.

我在谷歌搜索,发现AVCam的答案不在全屏

但是当我实现该解决方案时,我才意识到它只是制作了与我的视图相同大小的实时相机预览图层,但是当应用程序将图像保存- (IBAction)snapStillImage:(id)sender在图库中的方法中时,图像仍然是左右两个条纹.

我的问题是如何删除此条纹或源代码中的哪一行苹果设置这个东西?

另外作为额外的子问题我如何设置类型创建只是照片,因为该应用程序请求我"麦克风设置",我不需要它只需要拍一张照片,就是这样.

来自apple源的此代码将图像保存到照片库.

- (IBAction)snapStillImage:(id)sender
{
    dispatch_async([self sessionQueue], ^{
        // Update the orientation on the still image output video connection before capturing.
        [[[self stillImageOutput] connectionWithMediaType:AVMediaTypeVideo] setVideoOrientation:[[(AVCaptureVideoPreviewLayer *)[[self previewView] layer] connection] videoOrientation]];

        // Flash set to Auto for Still Capture
        [AVCamViewController setFlashMode:AVCaptureFlashModeAuto forDevice:[[self videoDeviceInput] device]];

        // Capture a still image.
        [[self stillImageOutput] captureStillImageAsynchronouslyFromConnection:[[self stillImageOutput] connectionWithMediaType:AVMediaTypeVideo] completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {

            if (imageDataSampleBuffer)
            {
                NSData *imageData = [AVCaptureStillImageOutput …
Run Code Online (Sandbox Code Playgroud)

objective-c ios avcapturesession avcam

2
推荐指数
1
解决办法
1564
查看次数

Facebook ios注销方法不起作用

我在app中使用此方法登出facebook

- (void)fbDidLogout {
    // Remove saved authorization information if it exists
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"FBAccessTokenKey"]) {
        [defaults removeObjectForKey:@"FBAccessTokenKey"];
        [defaults removeObjectForKey:@"FBExpirationDateKey"];
        [defaults synchronize];
    }
    NSLog(@"logout success!");
}
Run Code Online (Sandbox Code Playgroud)

此方法已被调用,但当我重新启动应用程序时,facebook仍然知道我的最新授权.

我的全面实施

我为facebook实例创建单例对象.

这是我的经理.h

#import <Foundation/Foundation.h>
#import "FBConnect.h"

@interface FacebookManager : NSObject <FBSessionDelegate> {
    Facebook *facebook;
}
@property (nonatomic, strong) Facebook *facebook;

+ (FacebookManager *)sharedInstance;
- (void)initWithAppID:(NSString *)appID;

@end
Run Code Online (Sandbox Code Playgroud)

这是singleton facebookmanager .m

#import "FacebookManager.h"

@implementation FacebookManager
@synthesize facebook;

static FacebookManager *_sharedInstance = nil;

+ (FacebookManager *)sharedInstance {
    @synchronized(self) { …
Run Code Online (Sandbox Code Playgroud)

facebook ios

1
推荐指数
1
解决办法
6226
查看次数

c ++数组索引计算问题

对不起这个简单的问题,但我解决不了...

有一个例子:

int a[10] = {6, 7.8, 8.0, -6, -5.7, 5, 5.7};

std::cout << a[6 % 8 / 4 + 21 % 9];
Run Code Online (Sandbox Code Playgroud)

作为回应我得到-5,但我不明白为什么.

c++

1
推荐指数
1
解决办法
102
查看次数

NSFetchedResultsController刷新以获取新数据

请指导我正确的方式.

我实现了这段代码来获取我的对象:

- (NSFetchedResultsController *)fetchedResultsController {
    if (_fetchedResultsController != nil) {
        return _fetchedResultsController;
    }

    NSPredicate *predicate = nil;

    if (self.selectedCategory)
    {
        predicate = [NSPredicate predicateWithFormat:@"ANY category_ids.category_id == %@", self.selectedCategory];
    }

    _fetchedResultsController = [EyeArtist fetchAllGroupedBy:nil withPredicate:predicate sortedBy:@"artist_id" ascending:NO delegate:self];

    return _fetchedResultsController;
}
Run Code Online (Sandbox Code Playgroud)

因此,当app在第一次运行时,fetch在没有谓词的情况下工作,所以在第二次我需要使用谓词进行新的提取.

我点击按钮并设置字符串self.selectedCategory,但我不知道如何从 - (NSFetchedResultsController*)fetchedResultsController重新获取数据;

所以我想它必须像对fetchedResultsController实例执行新请求.

core-data nsfetchedresultscontroller

1
推荐指数
1
解决办法
1833
查看次数

为UITextView设置文本会导致重置为默认字体和颜色问题

我使用汽车布局一个月,这是我的痛苦.由于某些原因,如果我将文本设置为具有约束的textview,App会显示与我在storyboard中设置的颜色和字体不同,但似乎是默认的.

我不确定这个模拟器问题是否可能?

我以编程方式设置文本 -viewDidLoad

如果我没有在viewDidLoad中设置文本:

在此输入图像描述

如果我在viewDidLoad中设置文本:

在此输入图像描述

ios autolayout xcode6

1
推荐指数
1
解决办法
863
查看次数

将 UITextField 用作输入视图时从 UIPickerView 获取它

有没有可能UITextFieldUIPickerView?我把我UIPickerViewinputView文字存档。我在屏幕上有几个文本字段,我想简单地获取显示选择器视图的当前文本字段。

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
   // something like let textField = pickerView.requestedTextField
}
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?

uipickerview uitextfield ios swift

1
推荐指数
1
解决办法
2976
查看次数

当服务器回调时,按下 SwiftUI 按钮并转到下一个屏幕(下一个视图)

当我想按下按钮显示加载指示器并且如果服务器返回成功响应则显示新视图时,我坚持了非常简单的步骤

在 UIKit 中这非常简单,但在 SwiftUI 中我坚持这样做。

  1. 我需要知道如何初始化/添加活动指示器我在这里找到了一些很酷的例子。我可以将它作为 let 变量存储在我的视图结构中吗?
  2. 然后按“取消隐藏/动画指示器”按钮
  3. 通过我的rest api 服务发出服务器请求
  4. 等待一段时间,然后在成功回调或错误消息上显示新视图。

没什么超级难的,但我卡在这里的是一个按钮,它是我的导航视图的一部分。请帮我推到新屏幕。

    Button(action: {
     // show indicator or animate
     // call rest api service
     // wait for callback and show next view or error alert

    })
Run Code Online (Sandbox Code Playgroud)

我找到了一些链接,但不确定如何正确使用它。

不确定我需要PresentationButtonNavigationLink根本不知道,因为我已经有一个简单的按钮并且想要推送新的视图控制器。

与此问题非常相似的问题,但我没有发现它有用,因为我不知道如何逐步使用如何“创建隐藏的 NavigationLink 并绑定到该状态”

编辑: 我还发现这个视频答案看起来像我弄清楚如何进行导航。但仍需要弄清楚如何在按下按钮时显示活动指示器。

swift swift5 swiftui

1
推荐指数
1
解决办法
1728
查看次数