2014-12-11 16 views
0

我开始了一个有故事板的项目,它有很多视图,每个视图都有相同的标题(包含图像,公司名称和两个按钮)。我想在主视图中执行一次,并使其可用于其他视图。如何制作自定义标题视图?

+0

任何很好的例子? – Parvezkhan 2014-12-11 05:35:52

+0

您可以创建自定义标题视图,并在需要的地方使用它。 – 2014-12-11 05:38:40

+0

谢谢...我知道这种方式,但不知道如何实现它。更详细的答案将是可观的。 – Parvezkhan 2014-12-11 05:43:30

回答

1

您可以创建一个包含您的标题的视图控制器。然后,将当前的根视图控制器(当前初始视图控制器添加到故事板中)添加到包含该视图控制器的视图控制器中。

0

我已经设法根据此post创建可重复使用的视图。

  • 创建一个类名为SharedView延伸的UIView
  • 创建具有相同名称
  • 设置“文件的所有者的财产在笔尖到SharedView类
  • 笔尖,从您的视图中创建一个出口到SharedView类,并将其命名为 '内容查看'
  • 改为如下的initWithCoder:

    -(void)awakeFromNib { 
        //Note that you must change @”BNYSharedView’ with whatever your nib is named 
        [[NSBundle mainBundle] loadNibNamed:@"BNYSharedView" owner:self options:nil]; 
        [self addSubview: self.contentView]; 
    } 
    
  • 在你ViewControllers创建视图,并设置其类SharedView

另一种解决方案是使用Container View Controller,并为您的具体情况,我试图实现一个demo你,请试试吧!

希望它可以帮助!

+0

添加后退按钮的处理 – 2014-12-11 06:24:33

1

创建一个名为HeaderView用XIB1自定义视图:在HeaderView.h

你必须定义一个协议,涉及到要显示在标题控件的属性。

@protocol HeaderViewDelegate <NSObject> 
- (void)onBackButtonTapped; 
@end 

@interface HeaderView : UIView 

@property (nonatomic, strong) IBOutlet UIImageView *headerImageView; 
@property (nonatomic, weak) id <HeaderViewDelegate> delegate; 

-(IBAction)backButtonTapped:(id)sender; 

@end 

在Header.m:

@implementation HeaderView 

-(IBAction)backButtonTapped:(id)sender 
{ 
    if (delegate != nil && [delegate respondToSelector:@selector(onBackButtonTapped)]) 
    { 
     [delegate onBackButtonTapped]; 
    } 
} 

@end 

现在你所要做的是创建一个BaseViewController和每个控制器应该从这个控制器,以显示在所有的意见相同的标题进行扩展。

让我知道你有任何关于实施的问题。

+0

让我们[在聊天中继续讨论](http://chat.stackoverflow.com/rooms/66653/discussion-between-adeel-ur-rehman-and-parvezkhan)。 – 2014-12-11 11:55:59

+0

现在有效。感谢您的大力帮助。 – Parvezkhan 2014-12-11 13:46:17

0

你为什么不使用NavigationController作为rootviewControoler与leftBarbutton和rightbarButton 以便它可以在你的整个应用程序

相关问题