这个网站全新,这里有很多业余知识!几个星期前开始自学.有一个非常可靠的iPhone应用程序,但我想要实现的最后一个功能是能够;
创建"首次启动"导游.
我想知道的是; 如果是用户首次启动应用程序,我怎么能以编程方式将视图重定向到不是"初始视图控制器"的新视图控制器,而无需点击按钮.
我已经阅读了一些有关检测首次启动的教程,我理解.我也阅读了一些教程并尝试了书中的所有内容来尝试实现"performSegueWithIdentifier",但是没有什么对我有用!
也许是因为我正在使用Xcode 5并在iOS 7上进行测试.如果有人能帮助我,我将永远感激不尽!
(void)viewDidLoad
{
[super viewDidLoad];
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"FirstLaunch"]) {
}
else {
// Place code here
self.view.backgroundColor = [UIColor redColor];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstLaunch"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
// Do any additional setup after loading the view, typically from a nib.
}
Run Code Online (Sandbox Code Playgroud) 对某些人来说这听起来像是一个愚蠢的问题.我四处搜索,发现很少,主要是因为我找不到合适的搜索词.
这里我想做的是:
该应用程序从视图A开始.
视图A启动视图B,视图B启动视图C.
它们是视图C直接返回A的方式,而不会自行消除并因此暴露B.例如主菜单按钮.
在我的 Xcode 项目中,我的故事板中有几个视图控制器。如何查看特定视图控制器的代码?
因为每个视图控制器都需要具有与其他视图控制器不同的功能。那么,我可以在哪里编写该代码呢?
谢谢!
我尝试了2种方法连续解雇2个视图控制器,但只有一个被解雇而不是第二个
方法1
-(void) LoginDone:(NSNotification *)notif
{
[self dismissViewControllerAnimated:YES completion:NULL]; //previous viewcontroller
[self dismissViewControllerAnimated:YES completion:NULL]; //current viewcontroller
}
Run Code Online (Sandbox Code Playgroud)
方法2
-(void) LoginDone:(NSNotification *)notif
{
[self dismissViewControllerAnimated:YES completion:NULL];
[[NSNotificationCenter defaultCenter] postNotificationName:@"LoginDone2" object:nil];
}
-(void) LoginDone2:(NSNotification *)notif
{
[self dismissViewControllerAnimated:YES completion:NULL];
}
Run Code Online (Sandbox Code Playgroud)
我需要找到一种方法来连续解除之前的viewcontroller和当前的viewcontroller.
我正在学习如何使用故事板进行iOS开发,我似乎无法弄清楚如何在同一屏幕上管理多个视图.
我希望能够控制在同一屏幕上的多个元素,例如UITableView与UIImageView旁边.
这意味着我需要3,1 UIViewControllers为UITableView1,1 UIImageView为主视图,1 为主视图.但据我所知,故事板只允许每个视图层次结构屏幕有1个控制器.谁能告诉我我错过了什么?
任何人都可以指出任何关于如何将项目放置在视图控制器中的指导/文档,该控制器将显示为弹出窗口,以便使用自动布局正确定位组件?
具体来说:我正在Xcode 8.3中使用新的"Present as Popover"segue和新的"通用"故事板.我添加了一个视图控制器,然后一个popover segue到该视图控制器.当它显示时,我看到视图控制器的大致左上象限显示为弹出窗口,但是我看不到任何自动布局,以适应略有不同大小的iPad弹出窗口vs不同大小的iPhone上的"全屏"行为 - 实际上,根据设备的不同,视图控制器的部分略有不同.
我认为这并不是事情应该如何运作,而普遍的popover segue的整体存在理由是通过汽车布局适当地适应popover尺寸?那么,任何人都可以了解我做错了什么或弹出窗口应该如何工作在自动布局?
我有一个 NSTimer(),它从单击按钮开始。如果我希望timer显示在标签上,我可以在同一个视图控制器中执行此操作,但我希望计时器继续运行并且值 (1...2...3) 显示在下一个视图中控制器。我有一个在下一个视图控制器上显示时间变量的标签,但它只在按下按钮时显示时间变量的值,并且不会继续。时间变量被传递,但运行它的函数不是。我该怎么做呢?
var timer = NSTimer()
var time = 0
Run Code Online (Sandbox Code Playgroud)
内部 viewDidLoad :
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("timerFunc"), userInfo: nil, repeats: true)
func timerFunc() {
time++
//time label displays the time (1..2...3 etc)
timeLabel.text = String(time)
}
Run Code Online (Sandbox Code Playgroud)
SecondSceneViewController 有一个从这个视图控制器传递的时间变量:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var secondScene = segue.destinationViewController as!
SecondViewController
secondScene.time = time
}
Run Code Online (Sandbox Code Playgroud)
当我转到 secondViewController 时,时间变量内的值是按下按钮时时间变量的值,它不会继续运行。我将如何将计时器传递给下一个视图控制器以显示值?
我知道如何在swift中创建单例类.创建单例类的最佳和最简单的方法如下:
class Singleton {
static let sharedInstance = Singleton()
}
Run Code Online (Sandbox Code Playgroud)
但我不需要任何普通班级的单身人士.我需要为viewcontroller类创建单例.所以我正在使用这个代码创建单例
class AViewController:UIViewController {
static let sharedInstance = AViewController()
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
Run Code Online (Sandbox Code Playgroud)
它给我附近的错误 AViewController()
Missing argument for parameter 'coder' in call
Run Code Online (Sandbox Code Playgroud)
看起来它想要我初始化init(coder: NSCoder).但是我应该通过什么参数或值coder呢?
我是斯威夫特的菜鸟。我在导航控制器中有一个初始视图控制器。里面是一个tableView。当我单击 NavigationBar 中的添加按钮项时,会以模态方式出现一个新的 viewController。现在我单击呈现的 Vc 中的另一个按钮,呈现的 Vc 被关闭。现在存在根 Vc。但我会展示一个新的根 vc。当关闭第二个 Vc 时,我将设置一个新的根 Vc。
当我关闭第二个 vc 时,我可以以编程方式设置一个新的根 Vc 吗?
我正在做一个对象检测并用于UIViewControllerRepresentable添加我的视图控制器。问题是我无法将数据从ViewController我的 SwiftUI 视图传递。我可以打印它。
有人能帮我吗?这是我的代码:
//
import SwiftUI
import AVKit
import UIKit
import Vision
let SVWidth = UIScreen.main.bounds.width
struct MaskDetectionView: View {
let hasMaskColor = Color.green
let noMaskColor = Color.red
let shadowColor = Color.gray
var body: some View {
VStack(alignment: .center) {
VStack(alignment: .center) {
Text("Please place your head inside the bounded box.")
.font(.system(size: 15, weight: .regular, design: .default))
Text("For better result, show your entire face.")
.font(.system(size: 15, weight: .regular, design: .default))
}.padding(.top, 10)
VStack(alignment: .center) { …Run Code Online (Sandbox Code Playgroud) viewcontroller ×10
ios ×9
swift ×3
root ×2
segue ×2
xcode ×2
autolayout ×1
dismiss ×1
function ×1
nstimer ×1
objective-c ×1
popover ×1
singleton ×1
swift4 ×1
swiftui ×1