小编sas*_*tch的帖子

改变UITabBar的高度

UITabBarController用作root视图,app支持iOS 6及更高版本.项目类层次结构如下.

UITabBarController
  - tab1
    - UINavigationController
      - UIViewController
      - UIViewController
      .
      .
  - tab2
    - UINavigationController
      - UIViewController
      - UIViewController
      .
      .
      .
  - tab3
    - UIViewController
  - tab4
    - UIViewController
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码来改变上面层次结构UITabBar中的一个UIViewControllers(在里面UINavigationController)的高度.

CGRect tabbarFrame = self.tabBarController.tabBar.frame;
tabbarFrame.size.height += 60;
self.tabBarController.tabBar.frame = tabbarFrame;
Run Code Online (Sandbox Code Playgroud)

但它没有改变高度.UITabBar以默认高度显示.虽然记录其值打印更改值,如下所示.

<UITabBar: 0xb528f60; frame = (0 431; 320 109); autoresize = W+TM; layer = <CALayer: 0xb529080>>
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变UITabBar高度来达到这样的目的:?

在此输入图像描述

height objective-c uitabbarcontroller uitabbar ios

61
推荐指数
14
解决办法
7万
查看次数

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

Swift错误:信号SIGABRT如何解决它

我只是Swift编码的初学者.我的想法很简单,这是一个带有两个按钮的应用程序.单击时,文本字段将更改其文本.在Main.StoryBoard中,我添加了一个文本字段和两个按钮.在ViewController.swift文件中.我这样写:

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var textfield: UITextField!
    @IBOutlet weak var button: UIButton!
    @IBOutlet weak var button2: UIButton!

    @IBAction func action1(_ sender: UIButton) {
        textfield.text="you just clicked on button1"
    }
    @IBAction func action2(_ sender: UIButton) {
        textfield.text="you just clicked on button2"
    }
}
Run Code Online (Sandbox Code Playgroud)

它应该是好的.但是,出现错误,显示:

thread1:信号SIGABRT

在文件AppDelegate.swift行:

class AppDelegate: UIResponder, UIApplicationDelegate
Run Code Online (Sandbox Code Playgroud)

我的代码出了什么问题?

ios swift

40
推荐指数
7
解决办法
11万
查看次数

Swift上下文类型any不能与数组文字一起使用

我正在尝试使用参数创建一个新类,我收到一个错误:

上下文类型any不能与数组文字一起使用

我试图as Any在最后添加,但它不会工作.

class JsonParams {
    let userName = "root"
    let password = "admin01"

    static let param: [String: Any] = [
        "jsonrpc": "2.0",
        "id": 1,
        "method": "call",
        "params": [
            "00000000000000000000000000000000",
            "session",
            "login",
            [ "username": userName, "password": password]
        ]
    ]
}
Run Code Online (Sandbox Code Playgroud)

编辑:

现在我需要在有人输入之后从用户名文本字段发送用户名和密码到param,所以我想为param创建一个方法,

class JsonParams {

let userName = "root"
let password = "admin01"
var param = [String: Any]()
func log (username.text, password.text){
init() {
    let param : [String: Any] = ["jsonrpc": "2.0", "id": 1, "method": "call", "params": …
Run Code Online (Sandbox Code Playgroud)

swift

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

如何在Android应用程序中集成Paytm钱包?

我想将Paytm钱包集成到Android应用程序中作为支付选项,就像在Uber应用程序中一样.谁能帮我吗?提前致谢.

android payment-gateway

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

Android就像在iOS上有标签的查看分页器一样

我想知道什么是最好的方法来实现像iOS一样的视图分页器与iOS上的标签,如在FIFA世界杯应用程序上找到的 参考图像

我能想到的各种方法是:

  1. 定制的UITabBarController带有滑动和平移手势 - 我试过这个,滑动体验不如FIFA应用程序那么流畅.它像新的Skype应用程序一样迟缓(想想他们正在使用这种方法).
  2. 页面视图控制器 - 我也试过这个,但遇到了一些奇怪的问题.之后没有尝试过多.
  3. 具有水平分页的集合视图控制器 - 这对我来说似乎是最好的方法,但我不确定内存管理.

我目前的实现 - 截至目前我有三个标签栏条目.我为每个人都有单独的视图控制器.这是我使用水平分页集合视图实现它的方式:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

NSInteger indexNumber = indexPath.row;
UICollectionViewCell *cell;

switch (indexNumber) {
    case 0:
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionViewCell1" forIndexPath:indexPath];
        [cell.contentView addSubview:self.firstViewControllerObject.view];
        break;
    case 1:
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionViewCell2" forIndexPath:indexPath];
        [cell.contentView addSubview:self.secondViewControllerObject.view];
        break;
    case 2:
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionViewCell3" forIndexPath:indexPath];
        [cell.contentView addSubview:self.thirdViewControllerObject.view];
        break;

    default:
        break;
}

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

我无法找到更好地管理细胞的方法,因此我制作了不同的实体.如何使用这种方法做得更好,或者如果这种方法不好,我应该使用什么?

uitabbar ios uicollectionview

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

NSURLErrorDomain错误代码1002说明

我是iOS开发的新手.我正在尝试加载JSON,这是我的功能:

func loadmyJSON (urlPath: String) {      

    let url: NSURL = NSURL(string: urlPath)!

    let session = NSURLSession.sharedSession()

    let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in
               println("Task completed")
        if(error != nil) {
            // If there is an error in the web request, print it to the console
            println("error not nil::::::")
            println(error.localizedDescription)
        }
        var err: NSError?

        var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
        if(err != nil) {
            // If there is an error …
Run Code Online (Sandbox Code Playgroud)

json ios swift

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

为什么viewDidAppear没有调用?

import UIKit

import SwiftyDropbox

class NotesViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, NotesviewDelegate {

var userText:[String] = []

@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()

    print("View Did Load Notes view controller")
}

override func viewWillAppear(_ animated: Bool) {
    print("View will Appear")
    self.tabBarController?.navigationItem.title = "Notes"

    let sendButton = UIBarButtonItem(title: "New", style: .plain, target: self, action: #selector(goToNoteEditorViewController))

    self.tabBarController?.navigationItem.rightBarButtonItem = sendButton
    self.automaticallyAdjustsScrollViewInsets = false
}

override func viewDidAppear(_ animated: Bool) {

    print("View Did appear Notes view controller")
    didDoneButtonPressed()

}

func goToNoteEditorViewController() {

    let …
Run Code Online (Sandbox Code Playgroud)

viewdidappear ios swift

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

iOS - 如果设备上有Google App,则Google SignIn会失败

我根据以下说明整合了Google SignIn(2.2):https: //developers.google.com/identity/sign-in/ios/start

它在设备上没有Google应用时有效.因此,Google SDK会打开一个网页视图,我可以在其中登录Google帐户,并使用有效的访问令牌调用GIDSignInDelegate方法didSignInForUser,而不会出现错误.

但是如果我安装了谷歌应用程序或Youtube应用程序,SDK将打开谷歌应用程序,我可以登录我的谷歌帐户,当我选择该帐户并重定向回来时,它会抛出一个错误:

"发生了潜在的可恢复错误.您可以再试一次."

无论我重试多少次都没有用过.

(深层链接网址: com.googleusercontent.apps.<我的应用ID>:// api/sso/v1/tokenResponse?ec = -216414001&e = A%20可能%20可恢复%20error%20occured.%20You%20may%20try%20again)

有没有人见过同样的问题?怎么可能出错?

ios google-signin

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

为什么 viewDidLoad() 被调用两次?

出于某种原因,我的数据被两次保存到模型中。为什么要viewdidload运行两次?这个控制器的目的是成为一个记分牌。它由使用核心数据的数据填充。我试过删除 tablecontroller 并添加一个新的。

import UIKit
class ScoreboardTableViewController: UITableViewController {

    var model = scoreboardModel.sharedInstance
    var numbers = [9,12,9]// [Int]()
    var timer = "k"
    var date = "thedateToday"



    override func viewDidLoad() {
        super.viewDidLoad()
        var count = numbers.count
        var x = String(count)


        if(timer != "k"){
            model.saveScoreboard(date, numsMemorized: x,time: timer)
            println("saved!")
        }
        model.getScoreboards()

        }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }

      // MARK: - Table view data source


    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return model.scoreboard.count
    }


    override func …
Run Code Online (Sandbox Code Playgroud)

uitableview ios swift

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