小编sza*_*es1的帖子

如何在 SwiftUI 应用程序中实现 PDF 查看器?

我正在构建一个显示 PDF 的应用程序,但我不知道如何使用 SwiftUI 显示 PDF 文件。我找到了有关如何使用 UIKit 显示 PDF 文件的教程,但没有关于 SwiftUI 的教程。谁能帮我?

我也尝试使用 MVVM 设计模式来做到这一点。如果有人可以帮助我,我将不胜感激!

文件结构

应用程序

代码:

HomeView.swift

import SwiftUI

struct HomeView: View {
    
    var deeds: [Deed] = deedsData
    
    var body: some View {
        NavigationView {
                List(deeds) { item in
                    Button(action: {
                        
                    }) {
                        HStack {
                            Image(systemName: "doc.fill")
                            Text(item.title)
                        }
                    }
                }
                .navigationTitle("title")
        }
    }
}

struct HomeView_Previews: PreviewProvider {
    static var previews: some View {
        HomeView(deeds: deedsData)
    }
}
Run Code Online (Sandbox Code Playgroud)

契约模型.swift

import SwiftUI

struct Deed: Identifiable {
    var id = …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swiftui

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

HiveError(HiveError:无法写入,未知类型:Slug。您是否忘记注册适配器?)

我正在构建一个非常简单的应用程序来从流行的动漫网站流式传输动漫,但是我很难使用 Hive。

我正在尝试从动漫网站获取所有动漫,然后将其保存到 Hive 中的缓存中。然而我遇到了问题,这阻碍了我的发展。我注册了一个适配器,但 Hive 告诉我没有。

有谁知道如何解决它?

我的代码

库/main.dart

import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:twist_go/pages/nav_screen.dart';

void main() async {
  runApp(EasyLocalization(
    supportedLocales: [Locale('en', 'US')],
    path: 'lib/assets/translations',
    fallbackLocale: Locale('en', 'US'),
    child: TwistGO(),
  ));
}

class TwistGO extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primaryColor: Colors.blueGrey[800],
        scaffoldBackgroundColor: Colors.blueGrey[700],
      ),
      localizationsDelegates: context.localizationDelegates,
      supportedLocales: context.supportedLocales,
      locale: context.locale,
      home: NavScreen(),
    );
  }
}

Run Code Online (Sandbox Code Playgroud)

模型/anime_all.dart

import 'dart:convert';

import 'package:hive/hive.dart';

part 'anime_all.g.dart';

List<AnimeAll> animeAllFromJson(String str) =>
    List<AnimeAll>.from(json.decode(str).map((x) => AnimeAll.fromJson(x)));

String animeAllToJson(List<AnimeAll> data) …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

如何在 Flutter 中设置隐藏 AppBar 的动画?

我需要有关为我的 AppBar 制作动画的帮助。

我的AppBar隐藏在DoubleTap上,但里面没有动画,它立即隐藏。我想把它动画化。我尝试用 SlideTransition 和 AnimatedContainer 小部件包装我的 AppBar,但这些都不起作用,因为错误表明我需要 PreferredSize 小部件。

如果有人帮助我,我会非常高兴!

我已经检查过这个答案,但是回答这个问题的人也有同样的问题。没有动画。 在屏幕点击上显示(滑入)或隐藏(滑出)颤动 AppBar

这是我的 AppBar 的视频: https ://streamable.com/it7ib

这是我的 AppBar 的样子的照片: 扑

代码:

import 'package:flutter/material.dart';

class GeneratedCouponScreen extends StatefulWidget {
  @override
  _GeneratedCouponScreenState createState() => _GeneratedCouponScreenState();
}

class _GeneratedCouponScreenState extends State<GeneratedCouponScreen> {

  bool showAppBar = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: showAppBar ?  AppBar() : null ,
      backgroundColor: Colors.white,
      body: GestureDetector(
        onDoubleTap: () {
          if (showAppBar) {
            setState(() {
              showAppBar = false;
            });
          } 
          else {
            setState(() …
Run Code Online (Sandbox Code Playgroud)

dart flutter

5
推荐指数
1
解决办法
8270
查看次数

如何删除导航视图顶部的填充?

我想知道如何删除 SwiftUI 中 NavigationView 上方的顶部填充。

问题是这样的: Xcode 1

代码:

import SwiftUI

struct HomeView: View {
    
    var deeds: [Deed] = deedsData
    
    var body: some View {
        NavigationView {
            List(deeds) { item in
                Image(systemName: "doc.fill")
                
            }
            .navigationTitle(Text("title"))
        }
    }
}

struct HomeView_Previews: PreviewProvider {
    static var previews: some View {
        HomeView(deeds: deedsData)
    }
}

Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

5
推荐指数
1
解决办法
4243
查看次数

如何在双击时动态隐藏AppBar?

我想在容器上的 DoubleTap 上动态隐藏和显示应用程序栏,并带有一些隐藏动画,但此链接的解决方案不适用于我的项目:Flutter - How can Idynamic show or hide App Bars onpages

该应用程序的图片: 图像

代码:

import 'package:flutter/material.dart';

class GeneratedCouponScreen extends StatelessWidget {

  bool ShowAppBar = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: ShowAppBar ? AppBar(
        title: Text('Makdolan Flutter'),
      ) : null ,
      backgroundColor: Colors.white,
      body: GestureDetector(
        onDoubleTap: () {
          ShowAppBar = false;
        },
        child: Container(
        padding: EdgeInsets.all(16.0),
        child: Column(
          children: [
            Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Text('DATA WYDANIA:', style: TextStyle(color: Colors.black),),
                  Text('10/09/2019', …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

4
推荐指数
1
解决办法
3448
查看次数

“getItem”的返回类型不是被覆盖成员的返回类型的子类型

我写一个简单的优惠券应用,但最近我更新了一些依赖和我Fragment 没有让我return null

错误照片: 错误

错误2

package com.szakes1.makdolannative.adapters

import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
import com.szakes1.makdolannative.R
import com.szakes1.makdolannative.fragments.CouponFragment
import com.szakes1.makdolannative.fragments.HomeFragment

class ViewPagerAdapter(fm: FragmentManager, private val numberOfFrags: Int) : FragmentStatePagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
    override fun getItem(position: Int): Fragment? {
        when (position) {
            0 -> return HomeFragment()
            1 -> return CouponFragment(R.drawable.coupon_hamburger)
            2 -> return CouponFragment(R.drawable.coupon_icecream)
            3 -> return CouponFragment(R.drawable.coupon_cheeseburger)
            4 -> return CouponFragment(R.drawable.coupon_fries)
        }
        return null
    }

    override fun getCount(): Int {
        return numberOfFrags
    }

    override fun getPageTitle(position: Int): CharSequence? {
        when …
Run Code Online (Sandbox Code Playgroud)

android kotlin

3
推荐指数
1
解决办法
1142
查看次数

如何在 Flutter 中使文本响应?

我正在努力使我的应用程序中的文本具有响应性,我正在从 Kotlin 重写为 Flutter。

关键是我有一个文本小部件,它需要响应。当我在16:9屏幕比例的手机上打开它时,还可以,但是当我在18:9屏幕比例的手机上打开我的应用程序时,文本没有填满剩余空间。

在 Kotlin 中,我使用了带有指南的 Contraint 布局,这使工作变得非常容易,但我不知道如何在 Flutter 中进行。

我正在使用 AutoTextSize 包,但它不工作,我打算它工作。

在我的 Kotlin 应用程序中,它看起来像这样

在屏幕比例为 18:9 的三星 Note 9 上的 Flutter 中看起来像这样:

我的代码:

import 'package:flutter/material.dart';
import 'package:auto_size_text/auto_size_text.dart';
import '../../helpers/makdolan.dart';

class GeneratedCouponScreen extends StatelessWidget {

  final String couponImage;

  GeneratedCouponScreen({Key key, @required this.couponImage}) : super(key: key);


  @override
  Widget build(BuildContext context) {

    var _makdolan = Makdolan();
    var now = _makdolan.calculateDate();

    return Scaffold(
      backgroundColor: Colors.white,
      body: SafeArea(
        child: Container(
          padding: EdgeInsets.all(16.0),
          child: Column(
            children: [
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [ …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

标签 统计

dart ×4

flutter ×4

ios ×2

swift ×2

swiftui ×2

android ×1

flutter-layout ×1

kotlin ×1

xcode ×1