标签: programmatically-created

以编程方式设置UIButton的buttonType

我有一个UIButton我在IB中添加的,但是这个按钮后面的视图会改变颜色,我需要在InfoDarkInfoLight之间切换按钮的类型.但奇怪的是,buttonType财产是只读的.那么如何在明暗信息按钮之间切换?

iphone objective-c uibutton programmatically-created

23
推荐指数
2
解决办法
4万
查看次数

Android - 自定义按钮,具有形状可绘制和渐变编程

我想制作一个像这个程序的自定义按钮,也许是一个径向渐变.

我将视图子类化,并绘制三个形状drawable,然后绘制文本.文本似乎偏离中心,所以我试图为文本绘制一个边界矩形,但那里没有运气.并计划添加一个点击监听器来获取类似行为的按钮.

也许我应该是子类按钮,但是在哪里绘制我的drawables所以他们不会被按钮的文本绘制搞乱.

任何指针将不胜感激.

谢谢

Edit2:看下面的第二次尝试.

Edit3:赏金的原因是弄清楚为什么子类化drawable不起作用.梯度不是那么重要.

edit4:在DrawableView :: OnDraw()中的getTextBounds()之前发现了drawRect.

package acme.drawables;
import android.content.*;
import android.content.pm.*;
import android.graphics.*;
import android.graphics.drawable.*;
import android.graphics.drawable.shapes.*;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.*;
import android.view.Menu;
import android.view.View;
import android.widget.*;
import static java.lang.Math.*;
public class MainActivity extends AppCompatActivity {
    DrawableView drawableView;
    LinearLayout row(boolean isRow1) {
        LinearLayout layout=new LinearLayout(this);
        layout.setOrientation(LinearLayout.HORIZONTAL);
        LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(w,d);
        int m=(int)round(w*margin);
        layoutParams.setMargins(m,m,m,m);
        for(int i=0;i<n;i++)
            layout.addView(drawableView=new DrawableView(this,i,isRow1),layoutParams);
        return layout;
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        DisplayMetrics metrics=new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        w=d=(int)round(metrics.densityDpi);
        LinearLayout …
Run Code Online (Sandbox Code Playgroud)

java android shape button programmatically-created

15
推荐指数
1
解决办法
1260
查看次数

以编程方式将证书添加到Java KeyStore的选项

我收到了SSL握手异常错误:PKIX"路径不链"(此处描述).我通过使用openssl导入证书链来修复它:

openssl s_client -host www.envmgr.com -port 443 -showcerts > cert_chain.crt

并将其安装到我的JDK密钥库中:

keytool -import -alias envmgrchain -file cert_chain.crt -keystore cacerts -storepass changeit
Run Code Online (Sandbox Code Playgroud)

这很有效.万岁.问题是我们将把我们的应用程序放在像rackspace或AWS这样的云服务器上,我认为我们很有可能无法修改JVM的密钥库来添加这个链.

我想,"没问题,我只是以编程方式将此证书链添加到密钥库"所以我将其从JVM中删除:

keytool -delete -alias envmgrchain -keystore cacerts -storepass changeit
Run Code Online (Sandbox Code Playgroud)

并添加了此代码:

    KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
    //Create an empty keystore that we can load certificate into
    trustStore.load(null);
    InputStream fis = new FileInputStream("cert_chain.crt");
    BufferedInputStream bis = new BufferedInputStream(fis);

    CertificateFactory cf = CertificateFactory.getInstance("X.509");
    while(bis.available()>0) {
        Collection<? extends Certificate> certs = cf.generateCertificates(bis);
        Iterator<? extends Certificate> iter = certs.iterator();
        //Add each cert …
Run Code Online (Sandbox Code Playgroud)

java ssl keystore pkix programmatically-created

12
推荐指数
1
解决办法
1万
查看次数

Segue和Button以编程方式迅捷

我正在使用iCarousel,我必须创建自己的按钮.我想将编程按钮中的数据传递给另一个视图,但我没有segue标识符,因为我以编程方式创建了按钮.我不知道是否可以通过编程方式创建segue的标识符.

button.addTarget(self, action: #selector(buttonAction3), for: .touchUpInside)
        button.setTitle("\(titulos[index])", for: .normal)
        tempView.addSubview(button)
        let myImage = UIImage(named: "modo4.png") as UIImage?
        button.setImage(myImage, for: .normal)

let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "modo") as! Modo1ViewController
self.present(viewController, animated: false, completion: nil)

if segue.identifier == "" {
        if let destination = segue.destination as? Modo1ViewController {
            destination.nomb = nombres
        }

    }
Run Code Online (Sandbox Code Playgroud)

button segue programmatically-created swift

12
推荐指数
1
解决办法
9102
查看次数

Swift 3以编程方式创建UILabel并添加NSLayoutConstraints

您好我正在尝试以编程方式创建标签并添加NSLayoutConstraints,以便它在superview中居中,无论屏幕大小和方向等等.我看了但是找不到一个示例.这是我有的:

let codedLabel:UILabel = UILabel()
codedLabel.frame = CGRect(x: 100, y: 100, width: 200, height: 200)
codedLabel.textAlignment = .center
codedLabel.text = alertText
codedLabel.numberOfLines=1
codedLabel.textColor=UIColor.red
codedLabel.font=UIFont.systemFont(ofSize: 22)
codedLabel.backgroundColor=UIColor.lightGray

let heightConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 200)

let widthConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 200)

codedLabel.addConstraints([heightConstraint, widthConstraint])

let verticalConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.centerY, relatedBy: NSLayoutRelation.equal, toItem: self.contentView, attribute: NSLayoutAttribute.centerY, multiplier: 1, constant: 0)

let …
Run Code Online (Sandbox Code Playgroud)

uilabel ios nslayoutconstraint programmatically-created swift3

9
推荐指数
2
解决办法
3万
查看次数

Web API 2是否可以以编程方式加载路径/控制器?

我目前正在开发一个使用WCF实现REST API的企业Web应用程序.它采用的VirtualPathProvider赶上请求*.SVC文件(实际上并不存在),然后建立他们的飞行动态加载相关的WCF服务.这允许系统具有可以在运行时添加到应用程序的"模块",而不会影响Web服务器或使用它的任何人.

我想知道的是,如果在概念上可以使用Web API 2.我一直在做一些研究,但看起来路由只能在启动时配置...我希望的是一种手段处理为不存在的路线,并且基本上使用控制器名称从请求到查找和装载相关联的组件(如果存在),而编程添加新路由.

我刚开始使用Web API 2,所以我希望有一些更有经验的用户可以加入.基本上我的团队有兴趣转换到Web API 2以减少我们遇到的WCF的开销和复杂性,但这个特殊要求可能是一个交易破坏者.

asp.net-web-api asp.net-web-api-routing programmatically-created

8
推荐指数
1
解决办法
1736
查看次数

以编程方式显示UISearchController的搜索栏

注1:这个问题涉及在更新的表视图之外添加UISearchController的搜索栏 - 而不是表视图的标题.

注2:一些反复试验让我找到了解决方案.请参阅下面的答案.

我是iOS开发的新手,并且正在努力使用UISearchController类.我有一个视图控制器,在我的视图控制器视图中,我计划在表视图上方有一个搜索栏.我希望搜索栏链接到UISearchController.由于接口构建器没有UISearchController,我以编程方式添加控制器.在实例化UISearchController之后,我尝试以编程方式将搜索控制器的搜索栏添加到我的视图中但尚未成功.我已经尝试设置搜索栏的框架并给它自动布局约束,但这两种方法都没有对我有效(即当我运行应用程序时,什么都没有出现).这是我尝试过的最新代码:

    let searchController = UISearchController(searchResultsController: nil)

    // Set the search bar's frame
    searchController.searchBar.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 50)

    // Constraint to pin the search bar to the top of the view
    let topConstraint = NSLayoutConstraint(item: searchController.searchBar, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Top, multiplier: 1, constant: 0)
    searchController.searchBar.setTranslatesAutoresizingMaskIntoConstraints(false)

    self.view.addSubview(searchController.searchBar)

    self.view.addConstraint(topConstraint)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!谢谢!

编辑:只使用其中一个设置搜索栏的框架或你给它自动布局约束(而不是我最初尝试的组合)似乎首先工作,但点击搜索栏后你会遇到问题指出由德怀特.我已经离开了这些案例的代码,以防它与您现有的内容进行比较,但是对于一个有效的解决方案,请参阅下面的答案.

使用自动布局约束:

    let searchController = UISearchController(searchResultsController: nil)

    let topConstraint = NSLayoutConstraint(item: searchController.searchBar, attribute: NSLayoutAttribute.Top, relatedBy: …
Run Code Online (Sandbox Code Playgroud)

uisearchbar ios programmatically-created swift uisearchcontroller

8
推荐指数
1
解决办法
2万
查看次数

如何在Swift中将文本字体设置为System Thin?

我想将标签文本设置为System Thin.读入StackOverflow并找到如下答案:

labelDescriptionView.font = UIFont(name: "System-Thin", size: 15.0)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.如何以编程方式改进代码并制作Thin字体样式?

fonts ios programmatically-created swift

8
推荐指数
2
解决办法
2万
查看次数

尝试以编程方式运行容器时从 Docker 退出代码 125

我正在尝试让集成测试正常工作。在测试初始化​​阶段,我尝试从 Docker 映像启动 Redis 服务器。

\n\n
var p = new Process { StartInfo = new ProcessStartInfo("docker", "run --name redistest \xe2\x80\x93p 6379:6379 redis")};\np.Start();\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我这样做时,进程退出,退出代码为125。如果我注释掉这些行,请在测试代码执行之前在测试中命中断点,然后从命令行运行

\n\n
docker run --name redistest -p 6379:6379 redis\n
Run Code Online (Sandbox Code Playgroud)\n\n

从断点继续时,测试按预期运行。125存在代码仅意味着docker run失败,因此没有更多信息可继续。

\n\n

在命令行调用或 C# 调用之前,我确保没有名为的redistest容器

\n\n
docker stop redistest\ndocker rm redistest\n
Run Code Online (Sandbox Code Playgroud)\n\n

但行为上的差异仍然存在。所有这些以编程方式运行 docker 的尝试都失败了:

\n\n
    \n
  • 添加-d
  • \n
  • 以普通用户身份运行
  • \n
  • 以提升的权限运行
  • \n
  • 从测试中运行
  • \n
  • 从 .NET Framework 控制台应用程序运行
  • \n
\n\n

为什么以编程方式创建docker run命令进程会导致 docker 以 …

c# process docker programmatically-created docker-for-windows

8
推荐指数
2
解决办法
6万
查看次数

在Swift中以编程方式创建一个UITableViewController

正如标题所说,我试图以编程方式设置UITableViewController.经过几个小时的尝试,我希望有人可以帮助我.而且,是的,我已经检查了有关此事的其他帖子:

import UIKit

class MainViewController: UITableViewController {

    init(style: UITableViewStyle) {
        super.init(style: style)
        // Custom initialization
    }

    override func viewDidLoad() {
        super.viewDidLoad()


    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // #pragma mark - Table view data source

    override func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
        return 5
    }


    override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
        var cell …
Run Code Online (Sandbox Code Playgroud)

uitableview programmatically-created swift ios8

7
推荐指数
1
解决办法
1万
查看次数