小编Ank*_*pta的帖子

取消请求Alamofire

我发送的请求是基于计时器触发的.但是,如果我按下后退按钮,请求似乎仍然处于活动状态,而响应又会导致应用程序崩溃.请建议一种取消请求的方法.

使用Xcode 8.2.1 Swift 3

以下是示例请求:

Alamofire.request(path!, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: createHeader()).responseJSON {
    response in
    switch response.result {
    case .success(let data):
        success(data as AnyObject?)
    case .failure(let error) :
        failure(error as NSError)
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至尝试在viewDidDisappear上使计时器无效,但没有帮助.

谢谢 !!

xcode http-post ios alamofire swift3

25
推荐指数
3
解决办法
1万
查看次数

如何发布和接收通知?

是否有一个易于格制的模式如何发送通知以及如何接收通知?代码段?该文档在该主题上写了150页.想看一个快速的例子.

iphone notifications nsnotifications nsnotificationcenter

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

强制本地化内部框架,如UIKit,无需重启应用程序

我必须在应用程序中添加一个切换语言的选项.我只是坚持本地化内部framworks.任何人都可以帮助我从应用程序本身的内部框架本地化,如UIKit等,而无需重新启动.我的代码工作正常,但对于内部框架的情况需要重新启动.只是内部框架没有得到本地化.

我目前的代码是:

创建一个名为BundleExtension.swift的文件,并将以下代码添加到其中 -

var bundleKey: UInt8 = 0

class AnyLanguageBundle: Bundle {

override func localizedString(forKey key: String,
                              value: String?,
                              table tableName: String?) -> String {

    guard let path = objc_getAssociatedObject(self, &bundleKey) as? String,
        let bundle = Bundle(path: path) else {

            return super.localizedString(forKey: key, value: value, table: tableName)
    }

    return bundle.localizedString(forKey: key, value: value, table: tableName)
  }
}

extension Bundle {

class func setLanguage(_ language: String) {

    defer {

        object_setClass(Bundle.main, AnyLanguageBundle.self)
    }

    objc_setAssociatedObject(Bundle.main, &bundleKey,    Bundle.main.path(forResource: language, ofType: "lproj"), .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
  } …
Run Code Online (Sandbox Code Playgroud)

localization uikit ios swift

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

仅当图像无法加载SDWebImage时才设置占位符图像

我想显示imageview的背景颜色,直到下载正在进行,如果下载失败或图像不可用,那么我想显示占位符图像.我怎样才能实现这一目标?

主要目的是稍后在加载期间不设置图像.

谢谢

ios sdwebimage swift

5
推荐指数
2
解决办法
9476
查看次数

将视频保存到图库并获取存储到图库的视频路径

我想保存从UIImagePickerController照片专辑中选择的视频.之后我需要获取保存路径的URL.我看到了一些已经存在的问题,这些问题ALAssetsLibrary现在已被弃用.例如:在图库中保存视频并存储视频路径

有人可以指导我使用Photo's framework并达到上述预期效果.如果我在任何地方都错了,请纠正我.

谢谢!!

video uiimagepickercontroller ios swift photokit

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

如何清除使用Kingfisherin UITableView加载的图像的内存和磁盘缓存?

我需要释放使用Kingfisher获取的图像所占用的所有内存.我有一个存储大量图像的UITableView,并且还具有"加载更多"功能.

我试过这些措施.

在viewDidLoad()中,我设置了缓存大小.

let cache = KingfisherManager.sharedManager.cache
cache.maxMemoryCost = 50 * 1024 * 1024
// Set max disk cache to 50 mb. Default is no limit.
cache.maxDiskCacheSize = 50 * 1024 * 1024
// Set max disk cache to duration to 3 days, Default is 1 week.
cache.maxCachePeriodInSecond = 60 * 60 * 24 * 3
Run Code Online (Sandbox Code Playgroud)

在viewWillDisappear()我清除这个.

cache.clearMemoryCache()
// Clear disk cache. 
cache.clearDiskCache()
// Clean expired or size exceeded disk cache.
cache.cleanExpiredDiskCache()
Run Code Online (Sandbox Code Playgroud)

仍然没有按预期释放内存.如果我错过了什么,请纠正我.

xcode memory-management uitableview ios kingfisher

4
推荐指数
3
解决办法
3972
查看次数

在视频 iOS 上添加标签

我想要实现的是UILabel在视频上添加自定义,以便它显示为 的各种属性UILabel,然后我们得到一个新视频。标签可以有不同的颜色、不同的字体大小阴影等。因此使用字符串代替UILabel是没有用的。此外,由于UILabel可以平移,因此使用准确的标签更为重要,因为它会有根据视频的帧。

考虑一下我想要实现的目标: 在此输入图像描述

video overlay uilabel ios swift

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

使用iOS中的照片框架将视频保存到自定义相册

我想保存使用自定义相机拍摄到一个特定专辑比如说是一个视频NewAlbumPhotos Library使用Photos Framework。我找到了一些答案,但ALAssetsLibrary现在已不推荐使用它们。

请让我知道是否需要更多详细信息,如果我错过了一些事情,也请纠正我。谢谢

ios swift photosframework ios9

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

在 iOS 中截取带有标签和透明背景的视图并将其上传到服务器

我想截取一个视​​图并从中创建一个 UIImage 。我希望在我的图像中保留视图的透明度属性。我在创建 UIImage 的扩展后尝试了这种方法,但是当上传到服务器时,结果图像中的背景不透明。

如果我做错了什么,请帮助或指出我!!这意味着生成的 png 没有透明度。

class func createTransparentImageFrom(label: UILabel, imageSize: CGSize) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(imageSize, false, 2.0)
    let currentView = UIView.init(frame: CGRect(x: 0, y: 0, width: imageSize.width, height: imageSize.height))
    currentView.backgroundColor = UIColor.clear
    currentView.addSubview(label)

    currentView.layer.render(in: UIGraphicsGetCurrentContext()!)
    let img = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return img!
}
Run Code Online (Sandbox Code Playgroud)

uiimage ios uigraphicscontext swift uigraphicsrenderer

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

Swift 3:将UIButton扩展添加到ViewController

我是iOS / Swift的初学者,试图创建一个没有Storyboard的简单应用程序。我创建了一个UIButton扩展,我想在视图中添加一个简单的按钮(稍后将设置约束)。不幸的是,该按钮不可见。如果有人帮助我,我将不胜感激。谢谢!

--- Buttons.swift-

extension UIButton {

func createRectangleButton(buttonPositionX: Double, buttonPositionY: Double ,buttonWidth: Double, buttonHeight: Double, buttonTilte: String) {
    let button = UIButton(type: .system) as UIButton
    button.frame = CGRect(x: buttonPositionX, y: buttonPositionY, width: buttonWidth, height: buttonHeight)
    button.setTitle(buttonTilte, for: .normal)
    button.backgroundColor = COLOR_WHITE
    button.tintColor = COLOR_BLACK
    }   
}
Run Code Online (Sandbox Code Playgroud)

-InitialViewController.swift-

import UIKit 

class InitialViewController: BaseViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    // Gradient Layer
    view.addGradientBackground(colorTop: COLOR_ROYALRED2, colorBottom: COLOR_ROYALRED1)

    // Button
    let startButton = UIButton()
    startButton.createRectangleButton(buttonPositionX: 50, buttonPositionY: 20, buttonWidth: …
Run Code Online (Sandbox Code Playgroud)

uibutton ios swift-extensions swift3

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