gpt4 book ai didi

ios - 透明 View Controller

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:36 24 4
gpt4 key购买 nike

我正在用

推送一个 UIViewController
[otherController presentViewController: newController animated: NO completion: nil];

然后 newController 的 nib 有基本 View 、一个较小的 View 和一个文本字段以及较小 View 中的一些按钮。我希望基础 View 是透明的灰色,这样我就可以看到它下面的 View Controller 的 View ,同时让用户清楚地知道另一个 View 被禁用了。

我试过将 Alpha 值设置得较低(这会影响我的其他控件),将 View 背景设置为透明的黑色,并取消设置 Opaque 标志。这些都不起作用。我只是得到一个不透明的浅灰色背景。

这是我的 View Controller :

@interface MyEditQueryViewController : UIViewController

@property (nonatomic, strong) id<MyEditQueryDelegate> delegate;
@property (nonatomic, strong) IBOutlet UITextField* textField;
@property (nonatomic, strong) IBOutlet UIView* editView;
@property (nonatomic, strong) IBOutlet UIButton* cancelButton;
@property (nonatomic, strong) IBOutlet UIButton* saveButton;
@property (nonatomic, strong) NSString* defaultText;
@property (nonatomic) CGFloat verticalOffset;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;
- (id)initWithDefaultText:(NSString*)defaultText orign:(CGPoint)origin;

- (IBAction)cancelTapped:(id)sender;
- (IBAction)saveTapped:(id)sender;
@end

有没有办法让这个 View 变成半透明的?

最佳答案

iPhone 上,完成此操作的唯一方法(在 UIAlertViewUIActionSheet 之外)是呈现一个 UIView 作为 UIViewController 的 subview ,将用作背景 View 。您呈现的 UIView 可以占据整个屏幕,并对其大部分 View 使用透明/半透明 View 来实现调光效果。


iPad 上,除了 UIAlertViewUIActionSheet 之外,您还可以模态显示非全屏 View 。它们有自己的 View Controller 。为此,您需要将 UIModalPresentationStyle 设置为以下之一:

  • UIModalPresentationPageSheet

  • UIModalPresentationFormSheet

但是,这两个选项(在我看来)在如何调整它们的大小以及放置它们的位置方面都有一些限制,因此如果您想要完全自定义,则必须以相同的方式进行我针对 iPhone 进行了解释,方法是在用作背景 View 的 UIViewController 上呈现一个单独的 UIView


除了用于 iPad 的 UIModalPresentationPageSheetUIModalPresentationFormSheet 选项之外,为 View Controller 设置透明/半透明背景将假定您在最后面的层后面有一个白色背景可以设置的颜色。


还应注意 UIAlertViewUIActionSheet 旨在(由 Apple)按原样使用,不应子类化,而您可以子类化 UIView 随心所欲,随心所欲。

关于ios - 透明 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20714459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com