我正在尝试为按钮设置圆角边框,但按钮的边框不正确。
代码:
Button(action: {
print("sign up bin tapped")
}) {
Text("SIGN UP")
.frame(minWidth: 0, maxWidth: .infinity)
.font(.system(size: 18))
.padding()
.foregroundColor(.white)
}
.border(Color.white, width: 2)
.cornerRadius(25)
Run Code Online (Sandbox Code Playgroud)
输出:
如您所见,拐角处的边框被切断。
任何建议我做错了什么?
我创建了一个用于检查的演示UITextView scrollEnabled
.它只包含1 UITextView
和2按钮启用和禁用滚动
我在模拟器和设备iOS 8上测试,如果我单击禁用滚动按钮,UITextView
将禁用正确滚动,但之后我点击启用滚动,UITextView
将不会启用滚动
但是,我在设备iOS9上测试,启用和禁用滚动工作正常.
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextView *myTextView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (IBAction)enableScrollButtonPressed:(id)sender{
self.myTextView.scrollEnabled = YES;
}
- (IBAction)disableScrollButtonPressed:(id)sender{
self.myTextView.scrollEnabled = NO;
}
@end
Run Code Online (Sandbox Code Playgroud)有什么想法解决这个问题吗?如果有人不理解我的解释请检查
我的演示项目
任何帮助或建议将非常感谢
我正在开发一个IOS应用程序.我UIViewController
在View Pager中添加了.我想在语言改变时重新初始化它.在这里,我想要删除所有的孩子UIViewController
,UIViewPager
然后再将其全部添加UIViewController
到Viewpager中.我怎样才能做到这一点?
示例代码
let viewPager = ViewPagerController()
viewPager.options = options
viewPager.dataSource = self
viewPager.delegate = self
self.addChildViewController(viewPager)
Run Code Online (Sandbox Code Playgroud)
Swift 3.1
xcode 8.3.3
这是我的问题:UITableView
我的故事板中有这么小:
这是我的代码:
SmallTableViewController.h
#import <UIKit/UIKit.h>
#import "SmallTable.h"
@interface SmallViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITableView *myTable;
@end
Run Code Online (Sandbox Code Playgroud)
SmallTableViewController.m
#import "SmallViewController.h"
@interface SmallViewController ()
@end
@implementation SmallViewController
@synthesize myTable = _myTable;
- (void)viewDidLoad
{
SmallTable *myTableDelegate = [[SmallTable alloc] init];
[super viewDidLoad];
[self.myTable setDelegate:myTableDelegate];
[self.myTable setDataSource:myTableDelegate];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{ …
Run Code Online (Sandbox Code Playgroud) 我一直UIBezierPath
用Swift 做一个简单的动画.此路径包括创建带有彩色边框的圆角矩形.动画必须是彩色边框的绘图.为此,我创建了一个CAShapeLayer
带有UIBezierPath(roundedRect:, cornerRadius: )
let layer = CAShapeLayer()
var viewPrueba = UIView()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
viewPrueba = UIView(frame: CGRectMake(self.view.frame.width/2-100, self.view.frame.height/2 - 100, 200, 200))
self.view.addSubview(viewPrueba)
let path = UIBezierPath(roundedRect: CGRectMake(0, 0, 200, 200), cornerRadius: 40.0)
layer.path = path.CGPath
layer.fillColor = UIColor.clearColor().CGColor
layer.strokeColor = UIColor.blueColor().CGColor
layer.strokeStart = 0.0
layer.strokeEnd = 0.0
layer.lineWidth = 4.0
layer.lineJoin = kCALineJoinRound
viewPrueba.layer.addSublayer(layer)
let tapGR = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码为 Button 提供阴影。
代码:
Button(action: {
}) {
Text("SIGN IN")
.font(.system(size: 17))
.fontWeight(.bold)
.foregroundColor(.green)
.frame(minWidth: 0, maxWidth: .infinity)
.padding()
.background(Color.white)
.clipped()
.overlay(
RoundedRectangle(cornerRadius: 25)
.stroke(lineWidth: 1)
.foregroundColor(.white)
)
}
.shadow(color: .gray, radius: 2, x: 0, y: 2)
Run Code Online (Sandbox Code Playgroud)
输出:
在上图中,您可以看到阴影不正确。
我怎样才能实现以下目标?
当我MediaQuery.of(context).padding.top
在小部件树中没有导航栏的情况下使用时,它会返回实际的真实值。
Reloaded 1 of 529 libraries in 637ms.
I/flutter (31730): 24.0
Run Code Online (Sandbox Code Playgroud)
但是当我将 appBar 放入小部件树中时,它仅返回 0.0。
Reloaded 1 of 529 libraries in 764ms.
I/flutter (31730): 0.0
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙解释一下为什么会发生这种情况吗?
我正在尝试以编程方式创建约束以将此粉红色 UIView 居中放置在 UITableViewCell 中。但是,当我添加约束时,它们不适用,并且我在控制台中收到一条消息,指出NSAutoresizingMaskLayoutConstraints
无法同时满足某些约束。
因此,当我设置时cell.contentView.translatesAutoresizingMaskIntoConstraints = false
,我在控制台中收到此消息:
“不支持更改 UITableViewCell 的 contentView 的 translatesAutoresizingMaskIntoConstraints 属性,这将导致未定义的行为,因为此属性由拥有的 UITableViewCell 管理”。
视图确实居中,但控制台说我不应该更改此属性。
我怎样才能做到这一点?
非常感谢。
我有一个使用自动布局构建的故事板.在那个故事板中,我在几个位置嵌入了一个UIViewController
子类(ButtonGridViewController
),每个位置都有不同的大小. ButtonGridViewController
的视图是用xib定义的.
我需要的是整个ButtonGridViewController
视图只是缩放以填充我嵌入它的视图.使用旧的struts-and-spring方法,这是微不足道的 - 只需将所有子视图设置为调整大小在两个方向,瞧,小菜一碟.
如何使用约束完成相同的操作?对于它的价值,xib只包含一个主视图,它是矩形的,有4个子视图 - 每个按钮 - 排列成2x2网格.我想要所有东西,包括按钮和间距,来缩放和/或拉伸以填充它进入的视图.
谢谢!
我在我们的应用程序中实现了Handoff,当应用程序在前台或后台运行时,它适用于Web到应用程序切换,反之亦然.
但是,如果应用程序没有运行,那么如果用户从web启动应用程序到应用程序切换,则在launchOptions字典中,我得到了UIApplicationLaunchOptionsUserActivityDictionaryKey
,但缺少对活动的引用.
看截图:
正如你所看到的,我只获得了ID NSUserActivity
.这是iOS 9中的错误吗?
有没有办法通过使用id来获取对活动的引用?
编辑,这是代码,虽然我不认为这是相关的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (launchOptions && [[launchOptions allKeys] containsObject:UIApplicationLaunchOptionsUserActivityDictionaryKey]) {
__block NSUserActivity *activity;
NSDictionary *userActivityDictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsUserActivityDictionaryKey];
if (userActivityDictionary) {
[userActivityDictionary enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
if ([obj isKindOfClass:[NSUserActivity class]]) {
activity = obj;
}
}];
}
//app was started by URL (deep linking), check parameters
if (activity) {
NSURL *url = activity.webpageURL;
//resume from URL
}
}
return …
Run Code Online (Sandbox Code Playgroud) ios ×9
swift ×4
objective-c ×3
autolayout ×2
swiftui ×2
android ×1
animation ×1
constraints ×1
dart ×1
delegates ×1
emulation ×1
flutter ×1
handoff ×1
iphone ×1
stroke ×1
swift3 ×1
uibezierpath ×1
uikit ×1
uitableview ×1
uitextview ×1
xcode ×1
xib ×1