小编Ben*_*Ben的帖子

删除字符串中的最后两个字符(Swift 3.0)

有没有快速的方法来删除Swift 3.0中的字符串中的最后两个字符?我看到有一个简单的方法来删除最后一个字符作为明确指出这里.你知道如何删除最后两个字符吗?谢谢!

string ios swift swift3

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

读取Firebase Auth错误(Firebase 3.x和Swift)

我无法弄清楚如何在新版本的Firebase中读取FIRAuthErrorNameKey.以下是我到目前为止,但"let errorCode = FIRAuthErrorNameKey"行不正确.从阅读Firebase文档,我也尝试从userInfo访问错误代码,但没有成功,我的想法.

 // Send request to Firebase to add user to register user
 FIRAuth.auth()?.createUserWithEmail(emailTextField.text!, password: passwordTextField.text!, completion: { (user, error) in

        // Check for errors and respond to user accordingly.
        if error != nil {

            let errorCode = FIRAuthErrorNameKey

            switch errorCode {

            case "FIRAuthErrorCodeEmailAlreadyInUse":

                // Add logic accordingly

            case ...:

               // Add logic accordingly

            case default:

              // Add logic accordingly
            }
        }
 })
Run Code Online (Sandbox Code Playgroud)

ios firebase swift firebase-authentication

11
推荐指数
4
解决办法
8271
查看次数

分组表中的TableView标头/页脚字体(快速)

我将tableView从Plain更改为Grouped,以使页眉/页脚不会浮在桌子上,而是固定在桌子的顶部和底部。那很简单,但是现在我设置的字体样式格式无法正常工作。奇怪的是,页眉/页脚的所有其他格式似乎都在起作用。任何对正在发生的事情和我所缺少的事情的想法都表示赞赏!

代码如下:

// Setup format of the header
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

    let title = UILabel()
    title.font = UIFont(name: "Avenir Book", size: 12)
    title.textColor = UIColor.whiteColor()


    let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
    header.contentView.backgroundColor = UIColor(red: 30/255, green: 30/255, blue: 50/255, alpha: 1)
    header.textLabel!.font = title.font
    header.textLabel?.textColor = title.textColor
    header.textLabel?.numberOfLines = 0
    header.textLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
    header.textLabel?.textAlignment = NSTextAlignment.Center

}
Run Code Online (Sandbox Code Playgroud)

在普通表中,上述所有方法都很好用,看起来像这样:

在此处输入图片说明

但是,当我更改为“分组表”时,除字体样式外,所有格式似乎都显示如下:

我对所有CAPS的来源感到困惑

我对所有CAPS的来源感到困惑。

我尝试通过此问题/答案实施解决方案,但也无法使其正常工作。感谢您的想法!

uitableview ios swift font-style

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

Firebase 无密码电子邮件身份验证无法在 iOS 上打开应用

我正在尝试实施很酷的 Firebase 电子邮件链接登录功能,但失败了。我成功设置发送电子邮件链接。但是,我无法获得打开应用程序的电子邮件链接。它只是打开预览页面,就像无法打开应用程序一样。

我已经测试了我设置的动态链接,我可以让它在设备中打开应用程序。我只是无法获得电子邮件链接来做同样的事情。

我的应用程序中的代码:

func sendFirebaseEmailLink() {

    let actionCodeSettings = ActionCodeSettings.init()

    // userEmail comes from a textField
    let email = userEmail

    actionCodeSettings.url = URL.init(string: String(format: "https://<myappname>.firebaseapp.com/?email=%@", email))
    // The sign-in operation has to always be completed in the app.
    actionCodeSettings.handleCodeInApp = true
    actionCodeSettings.setIOSBundleID(Bundle.main.bundleIdentifier!)

    Auth.auth().sendSignInLink(toEmail: email,
        actionCodeSettings: actionCodeSettings) { error in

        if let error = error {
            print(error.localizedDescription)
            return
        }
        else {
            UserDefaults.standard.set(email, forKey: "Email")
            print("email sent to user")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我说我已经成功获得动态链接以打开应用程序时,我的意思是当我在安装了该应用程序的设备上点击我创建的链接 (mylinkname.page.link/emaillogin) 时,它会打开该应用程序。正因为如此,[这个有用的 Firebase 视频][1] 关于设置动态链接,似乎我的这些细节是正确的,问题出在代码上,但我是新手,所以我不确定.

我花了几天的时间来解决这个问题,并试图解析密集的 Firebase …

ios firebase swift firebase-authentication password-less

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

更改 Android Studio 模拟器的区域设置

我想通过在模拟器中模拟不同的区域设置来测试数字格式和翻译。 这个答案似乎对如何更改模拟器中的设置有明确的答案,但我一生都找不到语言设置。

模拟器设置图像

我是 Android Studio 的新手,所以请原谅我不知何故错过了这个简单的问题。谢谢!

android android-emulator android-studio

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

停止每次运行后显示问题导航器

Xcode 中发生了一些变化,现在每次我运行应用程序时,它都会自动将选项卡切换到问题导航器。见下图。我怎样才能阻止这种情况发生?

在此输入图像描述

xcode

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

使用Google Map SDK子视图(Swift)中心地图和添加标记

我无法让谷歌地图居中,并在它作为IBOutlet连接的子视图时添加标记.我试图让它工作它感觉像20种不同的方式,但我被卡住所以会感谢任何帮助或指导.

代码设置非常简单如下:

//Map view outlet
@IBOutlet weak var googleMapView: GMSMapView!

override func viewDidLoad() {
    super.viewDidLoad()

// Google Map View Setup
    let camera = GMSCameraPosition.cameraWithLatitude(-33.86, longitude: 151.20, zoom: 6)
    let mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)
    mapView.myLocationEnabled = true

    self.googleMapView = mapView

    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
Run Code Online (Sandbox Code Playgroud)

如果视图是整个View Controller,我可以通过将self.googleMapView更改为self.view来使其工作,但我无法弄清楚如何将其正确连接到googleMapView插座.谢谢!

我尝试使用这个类似问题的帮助,但它没有明确回答,因为插座和变量都是mapView,我无法让它工作.

ios google-maps-sdk-ios swift

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

"此应用程序正在修改自动布局引擎"错误(Swift iOS)

我很难搞清楚如何修复"此应用程序正在从后台线程修改自动布局引擎"错误.任何帮助是极大的赞赏.

我尝试使用这个类似问题概述的方法来使用dispatch_async(dispatch_get_main_qeueu()),但它没有解决问题.我使用不正确吗?

从调试开始,我已经发现Firebase调用重置用户密码至少是问题的一部分.当我遗漏该代码时,没有错误.

相关代码和完整错误消息如下:

    //MARK: - Forgot Password Button Tapped
    @IBAction func forgotPasswordButtonTapped(sender: AnyObject) {

    let userEnteredEmail = emailTextField.text

    //Have Firebase send email to reset password      
        dispatch_async(dispatch_get_main_queue(), {

        FIRAuth.auth()?.sendPasswordResetWithEmail(userEnteredEmail!, completion: { error in

            if error != nil {

                //Tell user that the user name or password is incorrect.
                let errorCode = error!.code

                switch (errorCode) {
                    // Error code handling alerting user to issue.
                    }
            }
            else {
                //Send user to the forgot password screen.
                self.performSegueWithIdentifier("toForgotPasswordViewController", sender: self)
            } …
Run Code Online (Sandbox Code Playgroud)

ios firebase dispatch-async swift firebase-authentication

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

NSPredicate过滤字典数组(Swift)

我正在尝试学习NSPredicate的美好世界,但是在实际应用中却失败了。任何指导表示赞赏。

特别是,我想使用NSPredicate过滤字典数组。例如,采用以下数组并将其过滤为仅包含“ species” ==“ dog”的那些条目。

 var arrayofDictionary:[[String:String]] = [

      ["name": "Ben", "species": "human"], 
      ["name": "Harp", "species": "dog"], 
      ["name": "Guinness", "species": "dog"]

 ]
Run Code Online (Sandbox Code Playgroud)

现在,我知道如何按照以下方式进行过滤,但是我的理解是这是“懒惰”的方式,并且在进行大型计算时运行速度不会很快:

 let filteredArray = arrayofDictionary.filter { $0["species"] == "dog" }.flatMap { $0 }
Run Code Online (Sandbox Code Playgroud)

所以我一直在玩NSPredicate,觉得以下内容可能是一个不错的起点,但不确定下一步如何使用它。另外,也许这仅适用于数组而不适用于字典?

 let speciesPredicate = NSPredicate(format: "species == %@", "dog")
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!


我只能在Objective-C来找到这个指导这里。不幸的是,我只是开始学习Swift。

这是关于NSPredicate的很好的教程,可以让我全神贯注,但是我无法弄清楚如何针对上述情况完全实现。

arrays dictionary nspredicate ios swift

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

StackView 中的按钮约束(Swift 编程)

我不熟悉以编程方式设置 StackViews 和 Buttons。我的约束出现了一些奇怪的行为,我无法弄清楚我做错了什么。感觉就像我错过了一些简单的东西。任何帮助是极大的赞赏!

我正在尝试向 StackView 添加两个按钮以创建自定义选项卡栏。但是,当我向按钮添加约束时,它们显示在 StackView 底部之外。这就像地球图像的顶部约束不起作用。有任何想法吗?请参阅下面的图像和代码。

在此处输入图片说明

// View to put in the StackView
class ProfileBottomTabBarView: UIView {

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.translatesAutoresizingMaskIntoConstraints = false
        self.backgroundColor = .blue
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

}

// Calculate the screen height
public var screenHeight: CGFloat {
    return UIScreen.main.bounds.height
}

// StackView height set to a proporation of screen height
let stackViewHeight = screenHeight * 0.07

// Views to put in the …
Run Code Online (Sandbox Code Playgroud)

uibutton uiview nslayoutconstraint swift uistackview

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

在 Java 中从数组创建对象数组

我是 Android 和 Java 新手,无法弄清楚这个看似基本的 for 循环设置如何根据其他两个数组中的数据创建对象数组。

它是这样工作的,但这感觉不太复杂。

//  RefineMenuItem is a public class
public class RefineMenuItem {
    private int imageIcon;
    private String title;
}

// imageIcon and title are arrays with seven values in them
int[] imageItems = { ... }        
String[] menuItems = { ... }

// Create the RefineMenu Objects
RefineMenuItem item1 = new RefineMenuItem(imageItems[0],menuItems[0]);
RefineMenuItem item2 = new RefineMenuItem(imageItems[1],menuItems[1]);
RefineMenuItem item3 = new RefineMenuItem(imageItems[2],menuItems[2]);
RefineMenuItem item4 = new RefineMenuItem(imageItems[3],menuItems[3]);
RefineMenuItem item5 = new RefineMenuItem(imageItems[4],menuItems[4]);
RefineMenuItem item6 …
Run Code Online (Sandbox Code Playgroud)

java arrays android object

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

iOS 图表禁用缩放

如何禁用 iOS 图表的缩放但不完全停止用户交互?例如,仍然使用突出显示水龙头。这可以处理缩放,但也会禁用其他所有功能。

chartView.userInteractionEnabled = false    
Run Code Online (Sandbox Code Playgroud)

ios swift ios-charts

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

获取视图的宽度 (Swift)

所以你可以得到 UIScreen 的宽度和高度如下...

public var screenWidth: CGFloat {
    return UIScreen.main.bounds.width
}

public var screenHeight: CGFloat {
    return UIScreen.main.bounds.height
}
Run Code Online (Sandbox Code Playgroud)

但是如何获得 UIView 的宽度和高度呢?

uiview ios swift

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