我一直在尝试以编程方式重做我的应用程序上的工作.(不使用故事板)
除了手动制作导航控制器外,我差不多完成了.
我一直在做一些研究,但我找不到任何手动实现这个的文档.(我开始将应用程序作为单一视图应用程序)
目前,我只有1个viewcontroller.当然是appDelegate
导航控制器将在应用程序的所有页面中使用.
如果有人可以帮助我,或发送一些链接到一些适当的文档,以编程方式执行此操作,将不胜感激.
编辑:
我忘了在Swift中提到它.
我一直在寻找动态调整我的东西以fontSize适应我的布局框的宽度.但我能找到的所有答案都是要么:
label.adjustsFontSizeToFitWidth = true
Run Code Online (Sandbox Code Playgroud)
哪个确实有效.但是,只有我没有setTranslatesAutoresizingMaskIntoConstraints设置false.
请注意,我不使用故事板.因此,为了完全控制我的其他约束,我需要这一行:
label.setTranslatesAutoresizingMaskIntoConstraints(false)
Run Code Online (Sandbox Code Playgroud)
那么如何在不使用故事板的情况下调整字体大小以适应宽度,何时无法使用adjustsFontSizeToFitWidth.
在我弄清楚如何调整字体大小以适应宽度之后.我还需要调整布局框的高度以适应字体大小.虽然似乎有关于这方面的文件,但如果你碰巧知道这个问题的答案,我将不胜感激.
提前致谢
我正在尝试将我的项目升级到 React 18,一切都可以在浏览器中的开发和生产模式下运行。但是升级到最新版本后,@testing-library/react我的一些单元测试失败了,其中很多都记录了以下警告:
console.error
Warning: The current testing environment is not configured to support act(...)
at printWarning (node_modules/.pnpm/react-dom@18.0.0_react@18.0.0/node_modules/react-dom/cjs/react-dom.development.js:86:30)
at error (node_modules/.pnpm/react-dom@18.0.0_react@18.0.0/node_modules/react-dom/cjs/react-dom.development.js:60:7)
at isConcurrentActEnvironment (node_modules/.pnpm/react-dom@18.0.0_react@18.0.0/node_modules/react-dom/cjs/react-dom.development.js:25057:7)
at warnIfUpdatesNotWrappedWithActDEV (node_modules/.pnpm/react-dom@18.0.0_react@18.0.0/node_modules/react-dom/cjs/react-dom.development.js:27351:12)
at scheduleUpdateOnFiber (node_modules/.pnpm/react-dom@18.0.0_react@18.0.0/node_modules/react-dom/cjs/react-dom.development.js:25292:5)
at setLoading (node_modules/.pnpm/react-dom@18.0.0_react@18.0.0/node_modules/react-dom/cjs/react-dom.development.js:17342:16)
at _callee2$ (node_modules/.pnpm/@cubejs-client+react@0.29.51_react@18.0.0/node_modules/@cubejs-client/react/src/hooks/cube-query.js:56:7)
Run Code Online (Sandbox Code Playgroud)
我做的第一件事是检查我的版本,清除节点模块并锁定文件以防万一:
react18.0.0react-dom18.0.0@testing-library/react版本:“13.1.1”,但一切看起来都不错吗?
我检查了 React 18 的迁移文档:https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html
其中说最新版本@testing-library/react不需要globalThis.IS_REACT_ACT_ENVIRONMENT = true设置。
但无论如何,我在测试运行之前尝试手动设置。但这也没有解决它,(我尝试了几个版本)
// @ts-ignore
global.IS_REACT_ACT_ENVIRONMENT = true
// @ts-ignore
globalThis.IS_REACT_ACT_ENVIRONMENT = true
// @ts-ignore
self.IS_REACT_ACT_ENVIRONMENT = true
// @ts-ignore
window.IS_REACT_ACT_ENVIRONMENT …Run Code Online (Sandbox Code Playgroud) 我一直在努力寻找一些文档/教程/示例.关于如何在swift中进行高级tableview.但除了无尽的故事板教程之外,我还是空洞的.
我这样做没有故事板和笔尖.而且我无法在Apple的/不良/解释的库之外找到任何文档.
我将简单地展示下面设计的图像,而不是试图准确地解释我正在寻找的东西.

现在,我显然不是要求你们为我创造这个.我只是希望你能给我发一些文档/教程的链接.这解释了如何使细胞不同?以及如何以编程方式在单元格中定位元素.
我一直在寻找细胞限制,但我找不到任何东西?
我也研究了原型细胞,但我能找到的只是故事板.
我希望你们能给我一个类似的例子,一些文档/教程.
另一件重要的事情 我发现的任何文档都没有使用故事板.全部使用了tableViewController.
我正在使用带有UITableView的UIViewController.不是tableViewController,它似乎对它的工作方式产生了巨大的影响.
现在我只是想让原型工作.
这是我的数据如下:
var objects = NSMutableArray()
var dataArray = [ ["stockName":"CTC Media Inc.","action":"sell","stockPrice":12.44],
["stockName":"Transglobal Energy","action":"buy","stockPrice":39.40],
["stockName":"NU Skin Enterprises","action":"buy","stockPrice":4.18]
]
Run Code Online (Sandbox Code Playgroud)
我只能抓住它并从中显示一条数据.
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//return self.stocks.count
return dataArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
let object = dataArray[indexPath.row] as NSDictionary
cell.textLabel?.text = object["stockName"] as? String
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: …Run Code Online (Sandbox Code Playgroud) 我熟悉pcre正则表达式,但它们似乎并没有迅速发挥作用.
^([1-9]\d{0,2}(\,\d{3})*|([1-9]\d*))(\.\d{2})?$
Run Code Online (Sandbox Code Playgroud)
验证数字,如1,000,000.00
但是,将此放在我的快速函数中会导致错误.
extension String {
func isValidNumber() -> Bool {
let regex = NSRegularExpression(pattern: "^([1-9]\d{0,2}(\,\d{3})*|([1-9]\d*))(\.\d{2})?$", options: .CaseInsensitive, error: nil)
return regex?.firstMatchInString(self, options: nil, range: NSMakeRange(0, countElements(self))) != nil
}
}
Run Code Online (Sandbox Code Playgroud)
"litteral中的转义序列无效"
这当然是因为pcre使用"\"字符,swift解释为逃避(我相信?)
因为我不能只使用我习惯的正则表达式.如何将它们翻译为与Swift代码兼容?
在开发环境中,我的应用程序运行良好。在生产环境中,它崩溃并显示以下错误:
Uncaught TypeError: (0 , _react.useEffect) is not a function
它发生在我创建的文件中,我在其中导入 React 和 useEffect,如下所示:
import React, { useEffect } from 'react'
const X = () => {
useEffect(() => { ... })
...
}
Run Code Online (Sandbox Code Playgroud)
在此行下方添加一个 console.log 确认 useEffect 在生产中确实未定义,而在 dev 中则是预期的功能。
我检查了我的 package.json、yarn.lock 和 node_modules 是否有任何可能在 16.8.0 下引入 useEffect 的 react 或 react-dom 版本。但一切都是 16.13.1,它们是主要依赖项,我确实尝试清理我的纱线缓存,删除 node_modules 和 yarn.lock,然后重新安装。
我尝试添加和删除它,peerDependencies但没有成功。
我进行了检查以确保没有 2 个独立版本的 React 正在运行,而是保存window.React1 = React在库和window.React2 = React我的应用程序内部并检查
window.React1 === window.React2 这是真的,所以也不是这样。
最后,我还尝试将 React …
下线时,我的服务工作者收到以下错误:
(unknown) #3016 An unknown error occurred when fetching the script
我的服务工作者看起来像这样:
var version = 'v1'
this.addEventListener('install', function(event){
event.waitUntil(
caches.open(version).then(cache => {
return cache.addAll([
'https://fonts.googleapis.com/icon?family=Material+Icons',
'https://fonts.googleapis.com/css?family=Open+Sans:400,600,300',
'./index.html'
])
})
)
})
this.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(resp) {
// if it's not in the cache, server the regular network request. And save it to the cache
return resp || fetch(event.request).then(function(response) {
return caches.open(version).then(function(cache) {
cache.put(event.request, response.clone())
return response
})
})
})
)
})
Run Code Online (Sandbox Code Playgroud)
它位于顶级目录,紧邻index.html中的清单导入:
<link rel="manifest" href="/manifest.json">
我在我的条目js文件中导入服务工作者.然后立即注册.
require('tether-manifest.json')
import serviceWorker …Run Code Online (Sandbox Code Playgroud) javascript manifest offline-caching service-worker progressive-web-apps
这个问题与这些有关。但是没有一个解决方案对我有用。
我可以安装一个没有问题的包,npm install @scope/package但是我不能用纱线做同样的事情:yarn add @scope/package
纱线抛出以下错误:
An unexpected error occurred: "https://npm.pkg.github.com/download/@scope/package/1.2.8/089b08cffb16074c210ec3a59b04de268ae1c7b3a0492dce110adee3ada05bdd: Request failed \"401 Unauthorized\"".
我的 .npmrc 文件看起来像这样:(在 .yarnrc 下尝试和不使用)
registry=https://registry.npmjs.org/
//npm.pkg.github.com/:_authToken=MY_AUTHTOKEN
@scope:registry=https://npm.pkg.github.com/
Run Code Online (Sandbox Code Playgroud)
我试过添加这个 .yarnrc 文件:
registry "https://registry.npmjs.org"
"@scope:registry" "https://npm.pkg.github.com"
Run Code Online (Sandbox Code Playgroud)
(没有 .yarnrc)我试过这个 .npmrc 文件
registry=https://registry.yarnpkg.com/
@scope:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=MY_AUTHTOKEN
always-auth=true
Run Code Online (Sandbox Code Playgroud)
MY_AUTHTOKEN我Personal Access Token从 Github 生成的我在哪里。(它可以访问包中的所有内容)
我试图:
npm login使用我的PAT作为密码yarn login万一出现任何混淆,我实际上并不是在尝试 @scope 和 /package,而是在尝试我的实际作用域和包名称。 …
当我尝试npm从 GitHub 操作安装我的模块时,我收到以下错误:
npm ERR! 401 Unauthorized - GET https://npm.pkg.github.com/@xxxx%2fxxxx-analytics - Your request could not be authenticated by the GitHub Packages service. Please ensure your access token is valid and has the appropriate scopes configured.
Run Code Online (Sandbox Code Playgroud)
在您发表评论之前,我已经使用范围和访问令牌正确配置了 .npmrc,并且在本地安装私有包时一切正常。
这是我的 GitHub 工作流程操作:
name: JavaScript workflow
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: npmrc
run: cat .npmrc
- name: npm install
run: |
npm install
env: …Run Code Online (Sandbox Code Playgroud) 我最近更新到Xcode 7,beta 3.
而且我遇到了一些问题,我似乎无法在SO上找到任何问题.
当我运行我的应用程序时,我得到3个错误:
使用未解析的标识符'kCGBlendModeMultiply'
使用未解析的标识符'kCGLineCapRound'
使用未解析的标识符'kCGLineJoinMiter'
然而,后两个,消失了,虽然我认为它们将在第一个修复后出现(因此我将其包括在这个问题中).
我没有在发行说明中看到有关这些被删除的内容?所以我有点不知所措.我当然尝试重写这些行,但我使用的3件事不再显示为选项.如果他们刚刚使用最新的Swift 2.0,我可以使用什么呢?
这是第一个错误的代码.
func alpha(value:CGFloat)->UIImage
{
UIGraphicsBeginImageContextWithOptions(self.size, false, 0.0)
let ctx = UIGraphicsGetCurrentContext()
let area = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height)
CGContextScaleCTM(ctx, 1, -1);
CGContextTranslateCTM(ctx, 0, -area.size.height)
CGContextSetBlendMode(ctx, kCGBlendModeMultiply)
CGContextSetAlpha(ctx, value)
CGContextDrawImage(ctx, area, self.CGImage)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage;
}
Run Code Online (Sandbox Code Playgroud)
这是后两个错误的代码:
for layer in [ self.top, self.middle, self.bottom ] {
layer.fillColor = nil
layer.strokeColor = UIColor.whiteColor().CGColor
layer.lineWidth = 4
layer.miterLimit = 4
layer.lineCap = kCALineCapRound
layer.masksToBounds …Run Code Online (Sandbox Code Playgroud) swift ×5
ios ×4
javascript ×2
reactjs ×2
xcode ×2
yarnpkg ×2
cocoa-touch ×1
fonts ×1
github ×1
jestjs ×1
jsdom ×1
manifest ×1
npm ×1
npm-registry ×1
parceljs ×1
pcre ×1
react-hooks ×1
regex ×1
registry ×1
swift2 ×1
ts-jest ×1
uitableview ×1
xcode7 ×1
xcode7-beta2 ×1