小编Jay*_*ani的帖子

Xcode 4 UIButton segue推送到Table View Controller

现在UIButton我的故事板中有一个设置,可以推送到Table View Controller.这是按预期工作的.我想要做的是在UIButton按下时加载一个xml文件并仍然移动到表视图控制器上.

我怎样才能做到这一点?我已经有了XML代码的代码,这是代码将去哪里以及如何为新的ViewController子类添加.h和.m文件的问题UIViewController.如何将这些文件链接到UIButton我在故事板中创建的文件?

xcode objective-c storyboard ios ios5

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

当UITableView处于编辑模式时,如何隐藏Bar Button项目?(迅速)

标题基本上说明了一切。

我有一个,UITableView并且我希望该项在编辑模式下RightBarButtonItem消失UITableView。不幸的是,到目前为止,我发现的所有答案都建议将按钮设置为nil ...这对我不起作用,因为我不想摆脱按钮及其引用,只需在按钮隐藏时隐藏它即可。UITableView处于编辑模式。

那么,我在弄清楚该怎么做时遇到的麻烦是:

  1. 检测何时UITableView进入编辑模式
  2. 隐藏RightBarButtonItem(不完全删除)
  3. 检测何时UITableView已离开编辑模式(以便按钮可以重新出现)

任何帮助,将不胜感激,谢谢!

uinavigationbar uitableview uibarbuttonitem ios swift

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

当按下Swift 2中UINavigation控制器上的"后退"按钮时,让AVPlayer继续播放

我正在开发一个Radio Streaming应用程序,它可以流畅播放.当按下"主页"按钮和"锁定"按钮时,它也会在后台播放.

应用程序嵌入到a中UINavigationController,当我按下UINavigationController中的"后退"按钮时,它停止播放.我的问题是:当按下导航控制器中的"后退"按钮以便继续流式传输时UIViewController,如何让包含它的内容AVPlayer保持活动状态AVPlayer

我的代码

import UIKit
import AVFoundation
import MediaPlayer
import Foundation

class RadioFunctionViewController: UIViewController {

@IBOutlet var playButton: UIButton!
@IBOutlet var statusLabel: UILabel!
var player:AVPlayer = AVPlayer()
private let ObservatingKeyPath = "currentItem.status"
private let PlayerStatusObservingContext = UnsafeMutablePointer<Int>(bitPattern: 1)
private var playingState:Bool = false


override func viewDidLoad() {
    super.viewDidLoad()

    setStatus(4)
    getAudioData("http://184.107.179.162:7546/;")
    playingState = true


}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


@IBAction func …
Run Code Online (Sandbox Code Playgroud)

iphone ios avplayer swift2

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

如何将PFQuery用于存储为NSDictionary值的PFObject数组

我在iOS应用程序中使用parse.com将数据存储到解析云服务.我遇到了嵌套对象查询的问题.我有以下数据模型:

"游戏"类包含"获胜者"

"获胜者"是一个数组NSDictionary,字典中的每个项目都是1个玩家到N个人的映射

playerPowers值是一个PFObjects数组(当前只有一个名称的权力)key:objectId of a player(PFObject)

对于每个获胜者,我向"赢家"(可能有多个获胜者)添加一个NSDictionary对象,如下所示:

NSDictionary * winnerWithPowers = [NSDictionary dictionaryWithObject:tempPowers
                                                forKey:[aWinnerPFObject objectId]];
[newGame addObject:winnerWithPowers forKey:@"winners"];
Run Code Online (Sandbox Code Playgroud)

对于字典中的每个项目,键是播放器的现有objectId,值PFObjects也是服务器上的(幂)数组.当我查询"获胜者"时,我想要检索所有填充的数据,所有获胜者及其各自的权力PFObjects及其所有数据.当我查询"获胜者"时,每个权力的细节PFObject都是不完整的(键的值:名称为空).以下是查询,然后是打印结果的代码,然后输出包含两个获胜者的字典:

//在viewWillAppear中:

PFQuery * gamesQuery = [PFQuery queryWithClassName:@"Game"];
[gamesQuery orderByDescending:@"createdAt"];
[gamesQuery findObjectsInBackgroundWithBlock:^(NSArray * theGames, NSError * error) {
    if (error) {
        NSLog(@"ERROR: There was an error with the Query for Games!");
    } else {
        _gamesPF = [[NSMutableArray alloc] initWithArray:theGames];
        [_tableView reloadData];
    }
}];
Run Code Online (Sandbox Code Playgroud)

//在tableview中的cellForRowAtIndexPath: …

nsdictionary ios parse-platform

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

尽管图像很大,UIImageView在UICollectionViewCell中显得非常小

使用自动布局,我创建UICollectionView并添加了一个UIImageView内部来显示各种类别的图像.但是当我运行应用程序时,虽然单元格在屏幕上占据了适当的区域但是UIImageView包含在内部却显得非常小.有任何建议如何解决这个问题?我正在使用Swift.

使用自动布局的Pin选项,我已固定UIImageView到所有边缘UICollectionViewCell.

在Xcode故事板中,它看起来像这样: 单元尺寸为150 x 150

运行应用程序后,它看起来像这样: 在模拟器中的应用程序视图

我想UIImageView覆盖细胞的所有绿色空间来显示图像.我正在使用以下代码填充UICollectionView

@IBOutlet weak var categoryCollectionView: UICollectionView!

let categoryImages = [UIImage(named: "cake"), UIImage(named: "flowers"), UIImage(named: "chocolate"), UIImage(named: "greetings"), UIImage(named: "combobox"), UIImage(named: "handicraft"), UIImage(named: "mug"), UIImage(named: "soft_toy")]

let categoryNames = ["Cakes", "Flowers", "Chocolates", "Greetings", "Combos", "Handicraft", "Mugs", "Soft Toys"]


func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return self.categoryNames.count;
}

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

    let cell = categoryCollectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: …
Run Code Online (Sandbox Code Playgroud)

iphone ios swift

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

应用程序在后台运行时如何开始录音?

我正在从事录音工作。当应用程序在前台运行时,我必须开始录音并转到后台,当时录音工作正常。

但我的问题是,当我已经在后台时如何开始录音,我的录音功能是这样触发的:

我有一个带有按钮和 iOS 应用程序的蓝牙 LE 设备。这两个设备已配对(蓝牙 LE 设备和运行 iOS 应用程序的 iPhone),iOS 应用程序正在侦听蓝牙 LE 设备上的事件,例如按下按钮等事件。

现在,当用户按下蓝牙 LE 设备上的按钮时,iOS 应用程序会捕获该事件,即使该应用程序位于后台,我也可以运行代码,但无法开始录音。

我已经启用Background Modes

在此输入图像描述

这是我的录音代码:

func startRecording() {
        
        DispatchQueue.global(qos: .background).asyncAfter(deadline: DispatchTime.now(), qos: .background) {
            let audioFilename = self.getDocumentsDirectory().appendingPathComponent("recording.m4a")
            print("record Audio \(audioFilename)")
            let settings = [
                AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
                AVSampleRateKey: 12000,
                AVNumberOfChannelsKey: 1,
                AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
            ]

            do {
                self.audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
                self.audioRecorder.delegate = self
                self.audioRecorder.record()
            } catch {
                self.finishRecording(success: false)
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我找不到正确的解决方案来做到这一点,请建议我正确的方法来做到这一点,提前致谢。

audio xcode objective-c audio-recording swift

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

将NSArray添加到NSMutableArray

谢谢你的时间和阅读.我想要做的是弄清楚为什么这NSLog告诉我NSArray无论如何总是空的.我认为问题是我发NSMutableArray错了.您是否可以看看并决定我是否做得对,如果可能的话,给我一个方法将数组传入NSMutableArray

谢谢!

 //Get Defaults
 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSArray *favoriteArray = [[defaults objectForKey:@"favorites"] copy];

//Declares Mutable Array
self.favorites = [[NSMutableArray alloc] initWithObjects:favoriteArray, nil];
NSLog(@"array: %@", favorites);
Run Code Online (Sandbox Code Playgroud)

更新:我明白了.事实证明,您必须使用initWithArray声明它,而不是尝试将其添加为对象

解:

- (void)viewDidLoad {

     //Get Defaults
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     NSArray *favoriteArray = [[defaults objectForKey:@"favorites"] copy];

    //Declares Mutable Array
    self.favorites = [[NSMutableArray alloc] initWithArray:favoriteArray];

    [super viewDidLoad];
}
Run Code Online (Sandbox Code Playgroud)

xcode nsuserdefaults nsmutablearray ios

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

如何将刷新控件应用于UITableView

是否有一个刷新控制应用到一种方法UITableView,其是在设置UIViewController

我发现的解决方案需要子类化UITableViewController,这对我来说很麻烦,因为我需要子类化UIViewController而不是a UITableViewController,我没有看到文档下的任何方法UITableView允许我对它设置刷新控件.

任何帮助将非常感谢!

objective-c ios

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