小编Meg*_*anX的帖子

iPhone在故事板中呈现和解散导航视图控制器?

我有根视图,它提供了带有内容控制器的导航控制器,它的外观如下: 在此输入图像描述

NavigationController以模态方式呈现,ProjectTypeSelectionView是其根控制器.当点击注销按钮时,我想解除模态视图并返回到LoginScreenViewController.

所以我在prepareSegue LoginScreen中设置为委托:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

 UINavigationController *destination = segue.destinationViewController;

 if ([[destination ] respondsToSelector:@selector(setDelegate:)]) {
     NSLog(@"%@", destination);
     [destination setValue:self forKey:@"delegate"];
}
}
Run Code Online (Sandbox Code Playgroud)

然后在ProjectTypeViewController中添加此方法:

 - (IBAction)logout:(id)sender {
      [self.delegate projectTypeSelectionViewControllerDidFinish];
 }
Run Code Online (Sandbox Code Playgroud)

点击注销按钮时调用.令我惊讶的是,这并没有解雇控制器.没有任何事情发生,即使你的一切都是连通的.

我已经跟踪了错误 - 当prepareSegue被调用时,NavigationController的delagate被设置为LoginScreenViewController,将ProjectTypeController的委托设置为LoginScreenViewController的插件.

我该如何正确解决这个问题?

iphone uinavigationcontroller presentmodalviewcontroller uistoryboard

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

iPhone使用segues从UITextField呈现模态视图?

正如标题所述,我正在使用iOS5功能故事板.我有一个文本字段,在点击时应显示模态视图(带选择器).我想知道可以使用segues触发这个动作吗?

当您有按钮或单元格时,只需按住Ctrl键即可查看要显示的控制器.我已经对文本字段做了同样的事情但没有可见的结果.我只是按它而且只有键盘弹出.没有模态视图显示.我该怎么办?

iphone uitextfield presentmodalviewcontroller uistoryboardsegue

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

使用 FileHandler 写入文件时出现的问题

我有一个看起来像这样的代码:

let fileName = "name.txt"
let fileURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(fileName)
try! "".write(to: fileURL, atomically: true, encoding: String.Encoding.utf8)
let fileHandle = try! FileHandle(forWritingTo: fileURL)
fileHandle.seekToEndOfFile()
Run Code Online (Sandbox Code Playgroud)

这段代码有效。但是,如果我删除该行:

try! "".write(to: fileURL, atomically: true, encoding: String.Encoding.utf8)
Run Code Online (Sandbox Code Playgroud)

我得到运行时异常。我不确定为什么需要这条线?

filehandle ios swift3

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

创建具有 4 种颜色和小交叉点的渐变?

这里有很多关于如何创建多色渐变的问题,但我正在努力的是在渐变区域很小的地方创建渐变。例如,我想查看 4 种颜色,并且我希望颜色之间的 3 个交叉点具有小渐变。

    gradientLayer = CAGradientLayer()
    gradientLayer.frame = gradientFrame
    let locations = [Float](arrayLiteral: 0.3, 0.35, 0.8, 0.85)
    gradientLayer.locations = locations.map { NSNumber(value: $0) }
    gradientLayer.colors = [UIColor.red.cgColor,
                            UIColor.orange.cgColor,
                            UIColor.green.cgColor,
                            UIColor.gray.cgColor]
    layer.insertSublayer(gradientLayer, at: 0)
Run Code Online (Sandbox Code Playgroud)

我在红色和橙色以及绿色和灰色之间得到了很好的渐变。但是橙色和绿色之间的渐变要大得多,看起来不太对。

在此处输入图片说明

我一直无法解决这个问题。任何解决方案?

ios cagradientlayer swift

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

iOS 组合 仅当前一个请求已完成时才开始新请求

我有网络请求触发 switui 中的每个最后一个单元格。有时,如果用户向下滚动足够快 -> 向上 -> 请求将在第一个完成之前触发。如果没有组合或反应方法,我有完成块和布尔值来处理这个问题:

public func load() {
        guard !isLoadingPosts else { return }
        isLoadingPosts = true
        postsDataProvider.loadMorePosts { _ in
            self.isLoadingPosts = false
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想知道是否使用组合可以更优雅地解决这个问题,而不需要使用布尔值。例如,仅当前一个已完成时才执行请求?

ios swift combine

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

iOS CGBitmapContextCreate复制数据吗?

我写了这段代码:

 bitmapData = calloc(1, bitmapByteCount );
 context = CGBitmapContextCreate (bitmapData,
                                 pixelsWide,
                                 pixelsHigh,
                                 8,
                                 bitmapBytesPerRow,
                                 colorSpace,
                                 kCGImageAlphaOnly);
Run Code Online (Sandbox Code Playgroud)

当我这样做时,CGBitmapContext是复制我的bitmapData,所以在这些行后我应该写

free(bitmapData); 
Run Code Online (Sandbox Code Playgroud)

memory-leaks cgbitmapcontextcreate ios

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