Tag: swift

图像在tableview中滚动时重复单元格

图像显示不正确,我有两个Json Api(小学/高)的学校。 我可以追加两个JSON API数据和显示到tableview,tableview工作正常,它显示(初级/高)学校数据。 当我可以滚动tableview图像跳跃和图像加载非常缓慢的图像视图在tableview。 滚动tableview之前就是这样展示的 滚动tableview后,它显示这样的 在滚动图像正在跳跃之后, 这是代码 var kidsdata = [KidDetails]() func getprimarydata(_firsturl: String,firstid:String,updatedate:String) { if errorCode == "0" { if let kid_list = jsonData["students"] as? NSArray { self.kidsdata.removeAll() for i in 0 ..< kid_list.count { if let kid = kid_list[i] as? NSDictionary { let imageURL = url+"/images/" + String(describing: kid["photo"]!) self.kidsdata.append(KidDetails( name:kid["name"] […]

从后台重新启动位置更新

我正在开发一个监视用户位置的应用程序。 我打电话startUpdatingLocation()我可以把应用程序在后台。 它不断更新位置。 那效果很好。 我的问题是:我可以重新启动从背景 didExitRegion调用连续位置更新? 现在,如果我只是再次调用startUpdatingLocation() ,应用程序10秒后被杀死。 func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) { locationManager.startUpdatingLocation() } 所以这些步骤将是: 我要求位置经理startUpdatingLocation() 。 用户将该应用置于后台,同时不断接收位置更新。 用户停一会儿(例如咖啡),所以我要求位置pipe理员放下geofence和stopUpdatingLocation() 。 用户继续他的驱动器,所以当他离开地理围栏时,我想请求位置pipe理器再次startUpdatingLocation() 。

Swift:didSelectItemAtIndexpath函数不工作的JSON

我有三个控制器。 在第一个CategoryCollectionViewController,下一个listTableViewController,最后有DescriptionCollectionViewController。 在控制器中完美地传递了json数据。 但我不知道什么代码我应该写在ListTableViewController的didSelectRowAt_indexPath函数。 第一个CategoryCollectionViewController override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { let controller1 = ListTableView() controller1.product_id = arrCategory[indexPath.item].id! navigationController?.pushViewController(controller1, animated: true) } ** CategoryCollectionViewController Json网页文件** 第二个ListTableViewController override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tell me please what code i have to write here for push ViewController } ListTableController和DescriptionCollectionViewController的json网页文件是一样的 只是不同的是product_image值必须在ListTableViewController的单元格中加载,all_images的值必须在DescriptionCollectionViewController的单元格中加载。

如何正确设置dynamic高度表格单元格的自动布局?

我尝试创build一个UITableViewCell并设置子视图如下: class MyCellView: UITableViewCell { private let ImageView = UIImageView() private let titleView = UILabel() override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) contentView.addSubview(ImageView) contentView.addSubview(titleView) ImageView.translatesAutoresizingMaskIntoConstraints = false ImageView.topAnchor.constraint(equalTo: contentView.topAnchor).isActive = true ImageView.leftAnchor.constraint(equalTo: contentView.leftAnchor).isActive = true ImageView.rightAnchor.constraint(equalTo: contentView.rightAnchor).isActive = true ImageView.heightAnchor.constraint(equalTo: contentView.widthAnchor, multiplier: 0.6).isActive = true titleView.translatesAutoresizingMaskIntoConstraints = false titleView.topAnchor.constraint(equalTo: ImageView.bottomAnchor).isActive = true […]

标签栏控制器不会显示在button上

我是新来的ios.Ilogin屏幕连接到ViewController.swift文件,它具有button呈现模式延伸到标签栏控制器。 var window: UIWindow? @IBAction func loginBtnWasPressed(_ sender: Any) { window=UIWindow(frame: UIScreen.main.bounds) window?.makeKeyAndVisible() let layout=UICollectionViewFlowLayout(); window?.rootViewController=UINavigationController(rootViewController: resturent(collectionViewLayout:layout)) } 标签栏控制器的第一个标签是连接resturent.swift类的,这是集合View Controller。程序崩溃时显示标签栏控制器的第一个标签的内容,但程序没有在底部显示标签栏。如何避免程序崩溃? 如何显示底部的标签栏? 您可以从此链接下载该项目https://drive.google.com/file/d/0B5pNDpbvZ8SnRm9TY0l1YkFWYlU/view?usp=sharing

UIKit Dynamics会通过碰撞来改变视图框架

我的项目有几个视图受到母视图中心的径向引力,以及弹性碰撞,因此它们不会重叠。 它工作的很好,但有时我需要调整视图的大小,而当视图变大时,其他视图必须离开视图,以使所有视图保持不重叠。 我期望碰撞行为能够意识到事情是触动的,并将它们分开,但似乎并非如此。 这就是我现在要做的: [UIView animateWithDuration:0.5 animations:^{ view.frame = CGRectInset(view.frame, -30, -30); } completion:^(BOOL finished) { [self.animator updateItemUsingCurrentState:view]; }]; 视图长得很好,animation代表被告知animation已经恢复,但其他视图不会移走。 新扩大的视图只是重叠(或根据z顺序underlaps)其他意见。 我试图改变而不是框架 – 没有骰子。 我试图从所有的行为中删除视图 – 没有骰子。 我尝试从animation师中删除一些和所有的行为 – 没有骰子。 我试图调用updateItemUsingCurrentState:在所有的意见 – 没有骰子。 我需要一些骰子! 你能帮我吗? 谢谢…(迅速,随意回答很快,我会翻译它)

通过蓝牙或iOS中的本地WiFinetworking进行点对点语音聊天

我想实现两个iOS设备之间的语音聊天,而不使用WiFi或蜂窝networking在蓝牙范围内。 我已经使用多点连接框架在蓝牙范围内进行了文本聊天,但是我也想在蓝牙范围内进行文本聊天等语音聊天。 我发现我们可以使用GameKit来实现语音聊天,但我还没有find任何教程的参考,但如何实现语音聊天。 更新:我发现GameKit VoiceChatService在iOS 7.0之后已经被弃用了。 有另一种方式来调用另一个iOS设备在同一个networking上。 我发现这个应用程序https://itunes.apple.com/us/app/ip2pvoicechat-bluetooth-wifi/id908638157?mt=8工作调用在同一个WiFinetworking上的用户。 提前致谢。

AVMutableVideoComposition请求sourceImage有时是空的

这是我的这个问题的延伸,但我认为这是不同的值得自己的问题: 我正在过滤各种大小,尺度等video喂养他们成AVMutableVideoComposition 。 这是我目前的代码: private func filterVideo(with filter: Filter?) { if let player = playerLayer?.player, let playerItem = player.currentItem { let composition = AVMutableComposition() let videoAssetTrack = playerItem.asset.tracks(withMediaType: .video).first let videoCompositionTrack = composition.addMutableTrack(withMediaType: .video, preferredTrackID: kCMPersistentTrackID_Invalid) try? videoCompositionTrack?.insertTimeRange(CMTimeRange(start: kCMTimeZero, duration: playerItem.asset.duration), of: videoAssetTrack!, at: kCMTimeZero) let videoComposition = AVMutableVideoComposition(asset: composition, applyingCIFiltersWithHandler: { (request) in print(request.sourceImage.pixelBuffer) […]

Swift 3.0从不同的视图控制器获取用户位置坐标

我有两个视图控制器 – 一个是能够通过locationManager获得用户位置协调的mapView,另一个是我希望能够拉动这些用户坐标的VC。 首先VC:MapView func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { var coordinatesOfUser = locations.last?.coordinate print("The value of usercoordinates are \(coordinatesOfUser)") // here I want to be able to pull this variable, coordinatesOfUser if let location = locations.last { let span = MKCoordinateSpanMake(0.00775, 0.00775) let myLocation = CLLocationCoordinate2DMake(location.coordinate.latitude,location.coordinate.longitude) let region = MKCoordinateRegionMake(myLocation, span) map.setRegion(region, […]

从一个类调用IBOutlet UIButton到另一个Viewcontroller

我有一个视图控制器称为scopeviewcontroller 。另一个视图控制器称为scopeviewcontroller 在dataviewcontroller我有一个名为AddData的UIButton的IBOutlet 。我想在我的scopeviewcontroller调用这个button。 而我想隐藏那个button。 我在寻呼机中使用了这个视图控制器。 我想隐藏AddDatabutton在我的scopeviewcontroller中出现在第三页。 我在我的scopeviewcontroller viewdidload中试过这段代码。 但是得到这个错误: Value of type 'UIViewController' has no member 'AddData' 我的代码在第一视图控制器: class dataviewcontroller: UIViewController { @IBOutlet var AddData: UIButton! } 我的第二视图控制器: class scopeviewcontroller: UIViewController,UITableViewDelegate, UITableViewDataSource { override func viewDidLoad() { super.viewDidLoad() let storyboard = UIStoryboard(name: "data", bundle: nil) let controller = storyboard.instantiateViewController(withIdentifier: "dataviewcontroller") controller.AddData.hidden = true } […]