小编Dha*_*ena的帖子

MPRemoteCommandCenter在iOS中多次调用处理程序

MPRemoteCommandCenter多次调用处理程序块,并导致对选择器方法的不必要调用.

这是代码片段:

MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter];

[commandCenter.nextTrackCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent * _Nonnull event) {
    NSLog(@"NEXTTTTTT");
    return MPRemoteCommandHandlerStatusSuccess;
}];

[commandCenter.previousTrackCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent * _Nonnull event) {
    NSLog(@"PREVIOUSSS");
    return MPRemoteCommandHandlerStatusSuccess;
}];
Run Code Online (Sandbox Code Playgroud)

当用户在屏幕被锁定时点击音乐播放器底座上的下一个或上一个按钮时,它会多次调用上述块.

iphone audio-player mpmusicplayercontroller ios ios9

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

如何在ios中检测子视图控制器中的触摸事件

我已经为iPhone创建了一个侧视图菜单,我已经使用集装箱船概念在父视图控制器中添加子视图控制器.当用户点击导航栏上的菜单按钮时,我只需更改子视图控制器的框架,使其像一个显示菜单一样设置动画,以便子视图控制器将其框架的一半剪裁到右侧.

现在我的问题是每当用户点击子视图控制器的任何部分时我只想通知其父视图控制器触发事件​​已在其子视图控制器上触发,以便父视图控制器可以重置子视图控制器的帧以使其动画化喜欢关闭半显示菜单.

我使用了tap手势并将其添加到子视图控制器子视图的每个子视图中.因此,在任何子视图上点击手势都会通知父视图控制器有关触摸事件的信息.

触摸事件适用于子视图控制器的主视图,但任何按钮上的任何触摸都无法识别TAP事件.

我不知道我在哪里误会.请帮助我如何通知父视图控制器其子视图控制器中的任何触摸.提前致谢.

iphone parentviewcontroller touch-event ios childviewcontroller

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

无法使SFSafariViewController状态栏样式为lightContent

我对黑色背景的状态栏中的内容有轻度要求,但是某些屏幕需要白色背景的黑色状态栏内容,因此我在info.plist中将基于View控制器的状态栏外观保持为YES,以采用状态栏。基于视图控制器要求的样式。

我的问题是,每当我从任何视图控制器中显示SFSafariViewController时,默认情况下它将获取黑色状态栏内容和白色背景,即每次状态栏样式均为.default

我尝试覆盖SFSafariViewController子类中的preferredStatusBarStyle,到目前为止没有外观。

下面是我的代码


import UIKit
import SafariServices

extension SFSafariViewController {

    override open var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}

extension UINavigationController {
    open override var preferredStatusBarStyle: UIStatusBarStyle {
        return topViewController?.preferredStatusBarStyle ?? .lightContent
    }
}

class MyViewController: UIViewController, SFSafariViewControllerDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationController?.navigationBar.barTintColor = UIColor.lightGray
    }

    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }

    @IBAction func presentSafari(sender: AnyObject) {

        let safari = SFSafariViewController(url: URL(string: "https://www.google.com/")!)
        safari.delegate = self …
Run Code Online (Sandbox Code Playgroud)

statusbar ios swift sfsafariviewcontroller ios12

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

iOS中的textColor和tintColor有什么区别?

我知道这是一个愚蠢的问题,但我无法弄清楚它们textColortintColor属性之间的确切区别UIButton.

textcolor uibutton tintcolor ios

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

接口中的未知类FBLoginView

我在捆绑中添加了Facebook sdk,并在xib中添加了一个视图,我将其设置为'FBLoginView',并创建了与'fbLoginView'相同的插座.现在,当我设置fbLoginView的委托时,它会抛出错误接口中的未知类FBLoginView[UIView setDelegate:]:无法识别的选择器发送到实例0xa553380

我怀疑它没有得到FBLoginView类,我已经正确设置了oultlet虽然,有人可以请帮助我在哪里可以弄错?

facebook-graph-api ios facebook-login

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

无法替换Swift中的字符串

试图通过xml api发送它的几个特殊字符串.

尝试下面的代码但不适用于所有单引号(')和双引号(")的出现

var strToReturn = "“Hello” ‘world’"
strToReturn = strToReturn.replacingOccurrences(of: "&", with: "&")
strToReturn = strToReturn.replacingOccurrences(of: "<", with: "&lt;")
strToReturn = strToReturn.replacingOccurrences(of: ">", with: "&gt;")
strToReturn = strToReturn.replacingOccurrences(of: "‘", with: "&apos;")
strToReturn = strToReturn.replacingOccurrences(of: "“", with: "&quot;") 

print("Replaced string : \(strToReturn)") 
Run Code Online (Sandbox Code Playgroud)

结果是 &quot;Hello” &apos;world’

如果有人可以提供帮助,谢谢!

xml ios double-quotes swift single-quotes

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