2014-09-06 64 views
1

enter image description hereUIPopoverview for iPhone,iOS 7

我需要彈窗視圖。我遵循這個指示。

初始化:在故事板中創建兩個UIViewController。

可以說FirstViewController這是正常的,SecondViewController我們對其進行彈出。 Model Segue:將UIButton放在FirstViewController中,並將此UIButton上的Segue創建爲SecondViewController作爲模型segue。

製造透明:現在selet SecondViewController的UIView的(UIView的默認情況下是用UIViewController的創建),並改變其背景色清除顏色。

製作背景昏暗的:添加一個UIImageView在SecondViewController覆蓋孔篩,並將其圖像的一些變暗半透明圖像。你可以從這裏得到一個樣本:UIAlertView中背景圖像

展示設計:現在添加一個UIView,使善良的設計要顯示。在這裏,我展示了我的故事板的屏幕截圖。

這裏我補充上登錄按鈕賽格瑞其打開SecondViewController作爲彈出詢問用戶名和密碼

重要提示:現在主要的一步。我們希望SecondViewController不要完全隱藏FirstViewController。我們已經設定了清晰的顏色,但這還不夠。默認情況下,它在模型表示後添加黑色因此,我們必須在FirstViewController的viewDidLoad中添加一行代碼。你也可以在其他地方添加它,但它應該在繼續之前運行。

[自setModalPresentationStyle:UIModalPresentationCurrentContext];

解僱:何時解僱取決於你。這是一個模型,演示文稿,以便解僱我們做什麼,我們對模型的演示文稿:

[自dismissViewControllerAnimated:YES完成:無]。

但是我使用導航控制器,,爲透明背景不來了?????

請幫助我.. !!!!我的屏幕截圖如下。

+0

ü施加正確的圖像進行圖像視圖 – 2014-09-06 06:06:03

+0

秒。我已經發送你的郵件編碼? – 2014-09-06 06:08:28

+0

你可以使用彈出視圖 – 2014-09-06 11:37:14

回答

1

一個view controllerfreeform模式創建,就像在你的第一個視圖下面的圖片

enter image description here

控制器添加一個UIButton就像下面的圖片

enter image description here

在你的第一個觀點或者Controller.h

添加以下行

#import "UIPopoverController+iPhone.h" 


@interface first view controller : UIViewController<UIPopoverControllerDelegate> 


@property (nonatomic,strong) UIPopoverController *popOver; 

@property (strong, nonatomic) IBOutlet UIButton *popbtn; 

在您的第一個視圖Controller.m或者以下行添加到按鈕操作方法

- (IBAction)popButton:(UIButton *)sender 
{ 

UILabel *showlblView=[[UILabel alloc]init]; 
showlblView.frame=CGRectMake(10, 10, 250, 40); 

[email protected]"Gopi"; 
showlblView.textColor=[UIColor whiteColor]; 
showlblView.textAlignment=NSTextAlignmentCenter; 

final *vc=[[final alloc] init]; 



[vc.view addSubview:showlblView]; 

self.popOver=[[UIPopoverController alloc]initWithContentViewController:vc]; 

[self.popOver setPopoverContentSize:CGSizeMake(300, 200)]; 

CGRect popoverframe=CGRectMake(self.popbtn.frame.origin.x, self.popbtn.frame.origin.y, self.popbtn.frame.size.width, self.popbtn.frame.size.height); 
[self.popOver presentPopoverFromRect:popoverframe inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 



} 

這裏ur NSObjet class file UIPopoverController+iPhone.h

.h文件中

#import <UIKit/UIKit.h> 

@interface UIPopoverController (iPhone) 
+ (BOOL)_popoversDisabled; 
@end 

.m文件

#import "UIPopoverController+iPhone.h" 

@implementation UIPopoverController (iPhone) 
+ (BOOL)_popoversDisabled { 
return NO; 
} 
@end 

完整的項目代碼可通過以下鏈接:

https://www.sendspace.com/file/ktie4t

0

我有同樣的問題,並沒有找到解決方案如何與故事板SEGUE解決這個問題,但編程它的做工精細,當我第一個控制器(與navigationViewController推)提出第二個控制器。如果它不適合你的關鍵,試試這個:

+ (void)showWithParent:(UIViewController *)parentController { 
    static SomeViewController *singleton = nil; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
     singleton = [storyboard instantiateViewControllerWithIdentifier:@"SomeViewControllerID"]; 
    }); 
    [parentController presentViewController:singleton animated:YES completion:nil]; 
} 

或者只是:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
SecondViewController *secondController = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewControllerID"]; 
[firstController presentViewController:secondController animated:YES completion:nil]; 
+0

謝謝dimasv28 ,,,, wr v必須添加STORYBOARD編碼? – 2014-09-06 10:44:52